JSON中的.d是什么意思?

Fer*_*min 47 asp.net ajax jquery json

我有一个.NET web方法,我从jQuery调用.该方法返回一些我在DIV元素中显示的HTML标记.

一旦我得到了我使用的回复

$("#div").html(result.d);
Run Code Online (Sandbox Code Playgroud)

我的问题是,.d有什么作用?我不喜欢使用我不完全理解的代码?我可以使用Eval获得相同的结果吗?

Cli*_*ton 23

您指的是ADO.NET数据服务吗?

我记得听过关于JSON返回这个的演示文稿,我认为它只是一个包装器,以确保有效负载是一个JSON对象而不是一个数组(返回多个实体的情况).

为什么'd'具体?我想我记得他们说'好吧它必须是某种东西'.

  • 我认为'd'代表数据 (6认同)
  • 有理由摆脱这个或改变它吗?根据你无法控制的随机"d"参数,拥有如此多的JS是令人不安的.如果某个版本将其更改为"f"怎么办? (3认同)

Jai*_*der 9

基于本教程:JSON Web服务和使用Visual Studio 2008的jQuery

Web方法返回以JSON格式序列化的Product.由于没有JSONtype,返回的值是StringJSON格式.

在客户端,ajax调用返回JSON.

结果看起来像 {d: 'returned-string-with-JSON-format'}

更像是: {d:'{"ID":123,"Name":"Surface Pro 2"}'}

请注意,这'returned-string-with-JSON-format'是一个字符串而不是JSON对象,所以你不能这样做result.d.ID.

相反,您需要使用JSON.parse(result.d)或将其转换为JSON对象eval(result.d)

最后,你真正想要的是这样做:

result = JSON.parse(result.d)
Run Code Online (Sandbox Code Playgroud)

更新 还要考虑这个演示,我在字符串格式中使用JSON并将其转换为JSON对象:

在此输入图像描述

  • 是否有可能改变或摆脱"d"? (3认同)