JSON响应没有';t包含“;d”;不再asp.net 4.5

本文关键字:不再 asp net 包含 响应 JSON | 更新日期: 2023-09-27 18:28:01

我有一个问题,我们正在将asp.net 3.5转换为asp.net 4.5在这期间,我们遇到了很多问题但是现在。。。我们终于把它装得太重了现在,我在来自服务的JSON响应中出现了奇怪的行为它们不再包含"d"!

{d: "response from server"}

现在是

{"response from server"}

是什么破坏了回调的javascript代码?或解释

JSON响应没有';t包含“;d”;不再asp.net 4.5

由于Microsoft从使用DataContractJsonSerializer切换到Json.NET(NewtonSoft),因此行为发生了变化。

如果要在返回结果时命名变量,则需要正确地序列化它。

如果你返回一个字符串,你会得到{"你的字符串"},但如果你返回了一个对象(或者在4.5中是动态类型的任务,或者更好的是"你的对象"类型的任务),你会获得完全序列化的对象

return new { 
   result = "here is your result", 
   code  = "here is your code"
}