javascript - JSON格式疑问?
阿神
阿神 2017-04-11 12:05:25
0
4
761

js原生代码中声明json对象格式:

var person = {"name" : "Tom", "age" : 25};
console.log(person.name);

毫无疑问,是标准json格式,只包含 { " , : }5种特殊字符;


jQuery代码中json对象格式:

$.ajax('someUrl', { …… data : { name :'Tom', age : 25 } …… });

而这里,在声明对象格式时name、age没用双引号包裹,其它开源库大都亦然,这是问什么,一直有这个疑问,望大家解答下~

阿神
阿神

闭关修行中......

全部回复(4)
左手右手慢动作

看了上面的答案,汗了一下

首先,JSONJavascript 对象是两回事。

JSON 是一种数据交换格式,虽然是从 Javascript 对象标识中发展出来的,但是它本身和 Javascript 是独立的一种规范,它不是 Javascript 语法的一部分。与 JSON 相提并论的是 XML 之类的规范。另外,JSON
是纯文本的。

你所提供的代码是 Javascript 对象,语法没有 JSON 严格,而且数据类型也会更多,但它是 Javascript 专用,是 Javascript 基础语法的一部分。

准确的来说,在 Javascript 声明一个 JSON 的代码应该是这样的:

var person = '{"name":"Tom","age":25}';
刘奇

带双引号的是标准JSON的写法,key中可用包含一些特殊字符如-之类的
下面那个是JSON对象,也就是Javascript中的对象,只不过正好符合JSON的写法
使用JSON.stringify方法可用将JSON对象转换成JSON字符串
对应JSON.parse方法可用将JSON字符串转换成Javascript中的对象来使用。
被转换的JSON字符串必须符合标准JSON字符串规范

迷茫

js 里的 key 可加可不加“

巴扎黑

加"是规范,不加"是浏览器兼容

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板