json - JSON对象
json - JSON对象
中柠檬 发表于12个月前
json - JSON对象
  • 发表于 12个月前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

> 与xml相比,json可以把其数据结构解析为有用的javascript对象。 > 而xml需要解析成dom文档,再从中提取数据。 > > 对比: > > json 解析为javascript后,只需要 > book[2].title > > 而对于xml, > doc.getElementByTagName("book")[2].getAttribute("title") >

json 对象:

>早期的json解析器,使用js的eval()函数。因为json是js的子集,因此eval() 函数可以解析、解释、并返回js对象和数组。

>在旧版浏览器中,使用eval()对json求值存在风险。一般使用shim解析。 ECMAScript5 对解析json的行为进行了规范,定义了全局对象 json。

json 对象有两个方法。stringify() 和 parse() 这两个方法用于把js对象序列化为json字符串和把json字符串解析为原声的js值。
例如:

var book = {
    title: "Professional JavaScript",
    authers: [
        "Nicholas C. Zakas"
    ],
    edition:3,
    year:2011
};

var jsonText = JSON.stringify(book);

这个例子使用JSON.stringify( xx) 将一个js对象变成了一个json字符串 。默认情况下,保存的json串不包含任何空格字符或缩进。

例如:

var bookCopy  = JSON.parse(jsonText);

这个例子使用 JSON.parse可以将一个json串转换成js对象。

**注意: ** 在序列化js对象时,所有的函数和原型成员都会被忽略,且值为undifines的成员也会被跳过。结果中都是值为有效的json数据类型的实例属性。

  • 点赞
  • 收藏
  • 分享
粉丝 7
博文 177
码字总数 83542