JSON对象和字符串之间的相互转换

字符串转换成JSON
语法:

JSON.parse(text[, reviver])

示例:

JSON.parse('{}'); // {}  
JSON.parse('true'); // true  
JSON.parse('"foo"'); // "foo"  
JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]  
JSON.parse('null'); // null 
var transformed =  
  JSON.parse('{"p": 5}', function(k, v) { if (k === "") return v; return v * 2; });  
// transformed is { p: 10 }  

JSON转换成字符串
语法:
JSON.stringify(value[, replacer [, space]])
示例:

alert(JSON.stringify({}) === '{}');  
alert(JSON.stringify(true) === 'true');  
alert(JSON.stringify("foo") === '"foo"');  
alert(JSON.stringify([1, "false", false]) === '[1,"false",false]');  
alert(JSON.stringify({ x: 5 }) === '{"x":5}');  
JSON.stringify({x: 5, y: 6}); // '{"x":5,"y":6}' or '{"y":6,"x":5}' 
JSON.stringify({ a: 2 }, null, " ");   // '{\n "a": 2\n}'
JSON.stringify({ uno: 1, dos : 2 }, null, '\t')  
// returns the string:  
// '{            \  
//     "uno": 1, \  
//     "dos": 2  \  
// }'

ie7和ie6没有JSON对象,需要添加JSON2扩展JSON对象以及stringify()和parse()方法
ie7和ie6可以使用eval()将字符串转为JSON对象,

var c='{"name":"设计蜂巢","sex":"男","age":"25"}';
var jsObject=eval("("+c+")");
alert(typeof(jsObject));

jQuery中也有将字符串转为JSON格式的方法jQuery.parseJSON( json ),接受一个标准格式的 JSON 字符串,并返回解析后的 JavaScript (JSON)对象.

发表评论

电子邮件地址不会被公开。 必填项已用*标注