代码改变世界

JavaScript基础关于JSON(011)

2014-09-12 21:34  Bryran  阅读(212)  评论(0编辑  收藏  举报

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]}