JSON意即JavaScript Object Notation,是JavaScript里数据表示的通用格式,JSON数据格式很象JavaScript里的对象:
{"name": "value", "some": [1, 2, 3]}
所不同的是,相对于对象中的属性名,在JSON中的键名,必须使用引号包起来。对象声名时只有在特殊的属性名中才需要这样做:
{"first name": "Dave"}.
将一个JSON数据解析成JavaScript对象,最好使用JSON.parse():
// an input JSON string var jstr = '{"mykey": "my value"}'; // antipattern var data = eval('(' + jstr + ')'); // preferred var data = JSON.parse(jstr); console.log(data.mykey); // "my value"
如果你已经在使用某个JavaScript的框架,如ExtJS,可以这样做:
// an input JSON string var jstr = '{"mykey": "my value"}'; // parse the string and turn it into an object // using a YUI instance YUI().use('json-parse', function (Y) { var data = Ext.JSON.decode(jstr); console.log(data.mykey); // "my value" });
decode代表就是解码,反过来就是encode编码:
var dog = { name: "Fido", dob: new Date(), legs: [1, 2, 3, 4] }; var jsonstr = Ext.JSON.encode(dog); // jsonstr is now: // {"name":"Fido","dob":"2010-04-11T22:36:22.436Z","legs":[1,2,3,4]}