【问题标题】:JSON difference between { myParameter : 77 } and { 'myParameter' : 77 }{ myParameter : 77 } 和 { 'myParameter' : 77 } 之间的 JSON 差异
【发布时间】:2012-07-06 13:03:24
【问题描述】:

我在 ASP.Net 应用程序中有几个对 Web 服务的 AJAX 调用,基本上我使用 JQuery 进行调用,但我想知道编写之间的区别(如果有的话):

data: "{ 'myParameter' : 77 }"

data: "{ myParameter : 77 }"

这两种方法我都试过了,它们都有效,那么有什么区别?

编辑 1

好吧,根据我的理解,它们是有效的,因为它们在 JavaScript 中有效但它们不是严格的 JSON 有效对象,那么最佳实践或推荐使用是什么?

【问题讨论】:

标签: javascript asp.net json


【解决方案1】:

它们都不是真正有效的 JSON(requires that all key names are double-quoted with "),但是在 JavaScript 中解析它们时,这三者之间确实没有区别,因为这三者(单引号、双引号和无引号)在 JavaScript 中都是有效的对象字面量。

当您需要在 JavaScript 中不是有效标识符的键名时,真正的区别就出现了;例如,"key-name"{"key-name": 5} 可以,但{key-name: 5} 不行。

【讨论】:

  • 有趣。你有这个要求的参考吗?
  • @Jupaol:当然,最好的做法是使用有效的 JSON :) 使用双引号。它们保证被所有 JSON 解析库所接受。其他风格,不是很多(尽管大多数图书馆对此都比较宽容)。
  • 有人用过 JSON.stringify() 吗?
  • 我通常会先发送到服务调用,然后用这个 js 解析数据,这是不是通过 ASAX 进行通信的好方法?
  • @Milson:是的,没关系。
猜你喜欢
  • 1970-01-01
  • 2011-02-18
  • 2016-08-03
  • 1970-01-01
  • 2020-02-04
  • 2014-10-20
  • 2015-09-20
相关资源
最近更新 更多