JSON对象及方法

JSON对象只包含两个方法:: 用于解析JSON字符串的 parse() 方法,以及将对象/值转换为 JSON字符串的 stringify() 方法。除了这两个方法,JSON这个对象本身并没有其他作用,也不能被调用或者作为构造函数调用。

1、JSON.parse()

JSON.parse() 方法将一个 JSON 字符串转换为对象,并返回该对象。若有回调函数作为第二个参数,则对转换后的对象的每个成员调用该函数,但是此时不返回该对象了,返回值为undefined。

JSON.parse(text, func);   //text:必需,JSON 字符串;  func: 可选,一个函数,将为对象的每个成员调用此函数。

示例:

var text = '{"aaa":[' + '{"name":"wen","site":"aaa" },' + '{"name":"hai","site":"bbb" }]}';
var obj = JSON.parse(text);
var str = obj.aaa[1].name + " " + obj.aaa[1].site;
console.log(str);    //hai bbb

使用回调函数

var i = 0;
var obj = JSON.parse('{"1": a, "2": b, "3": 333}', function (k, v) {
  i++
  console.log(k,v,i,'--');  //1 a 1 --   2 b 2 --   3 333 3 --    '' {} 4    执行了四次,最后一个的属性值为空字符串 ""
});
console.log(obj);   //undefined

2、JSON.stringify()

JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。

JSON.stringify(value, func, space);  //value:JavaScript值,通常为对象或者数组; func:回调函数; space:指定一定数目的缩进空格

示例:

var str = { "name": "菜鸟教程"}
var str_pretty1 = JSON.stringify(str);
console.log(str_pretty1);   //{"name":"菜鸟教程"}
str_pretty2 = JSON.stringify(str, null, 4) //使用四个空格缩进
console.log(str_pretty2);    
//{
//    "name": "菜鸟教程"
//}

教程:http://www.runoob.com/js/js-json.html

猜你喜欢

转载自www.cnblogs.com/wenxuehai/p/10340326.html