先把权威摆上:JSON ,JSON in JavaScript。
JavaScript中的对象使用对象字面量表示法:
var object_literal = { Name: "zs", Age: 18, Married: false };
JSON字符串:
var json_str = '{"Name": "ls", "Age": 20, "Married": true}';
在JavaScript中,两者之间的转换
//js对象转换为json字符串 var object_to_jsonstr = JSON.stringify(object_literal); alert(object_to_jsonstr); //json字符串转换为js对象 var jsonstr_to_object = JSON.parse(json_str); alert( jsonstr_to_object.Name + ',' + jsonstr_to_object.Age + ',' + jsonstr_to_object.Married
);
注意地方,JavaScript中的对象字面量中,属性的名字可以加双引号,也可以省略; 而JSON字符串中表示属性名字的部分,必须加双引号,值部分只是string类型需要用双引号,其他数据类型不用。
如下的两个JSON字符串被转换为JavaScript对象后,结果不同:
(function(){ var str_one = '{"married": false}'; var str_two = '{"married": "false"}'; var obj_one = JSON.parse(str_one); var obj_two = JSON.parse(str_two); alert((obj_one.married === false) + ',' + (obj_two.married === false)); }());