JSON

1.什么是JSON

    JSON( javascript Object Notation )是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。

    JSON采用key/value的形式来表示数据,其中使用“{}”表示对象,而“[]”则表示数组,详细的语法可以参考json.org

JSON对象:{"name":"LiLei","age":19,"sex":"male"}
JSON数组:[
             {"name":"LiLei","age":19,"sex":"male"},
             {"name":"HanMei","age":18,"sex":"famale"}
           ]

2、原生JSON对象

    目前支持原生JSON对象的浏览器包括:IE8、Firefox3.5以及Chrome3.0/4.0。原生的JSON对象是一个只包括parse方法与stringify方法的纯粹的对象,用于解析和构建JSON文本。

   2.1、 JSON.parse()

   parse() 方法是将一个符合JSON语法的字符串解析成一个JavaScript对象

// 简单JSON 对象
var str = '{"name":"LiLei","age":19,"sex":"male"}';  
var obj = JSON.parse(str);  
console.log(obj);
// Object {name: "LiLei", age: 19, sex: "male"}


// JSON 数组
var str = '[{"name":"LiLei","age":19,"sex":"male"},{"name":"Lucy","age":17,"sex":"female"}]';  
var obj = JSON.parse(str);  
alert(obj[0]);//Object {name: "LiLei", age: 19, sex: "male"}
alert(obj[1]);//Object {name: "Lucy", age: 17, sex: "female"}

  

  

注意:使用JSON.parse的时候,对象的每个属性都必须用双引号括起来,否则会抛出异常;

 

var str = '{company:"kedacom"}';
var json = JSON.parse(str);  //解析出现异常
var str2 = "{'company':'kedacom'}";
var json2 = JSON.parse(str2);  //解析出现异常

 

  2.2、JSON.stringify  将一个JavaScript对象序列化成JSON结构的字符串

var str = {name: "Lucy", age: 17, sex: "female"}
objstr = JSON.stringify(str);
console.log(objstr)
// {"name":"Lucy","age":17,"sex":"female"}

3、原生JSON的的浏览器兼容

 

目前支持原生JSON对象的浏览器包括:IE8(S)、Firefox3.5以及Chrome3.0/4.0,对于更低版本的浏览器支持在网络上又很多的解决方案,目前使用最为广泛和成熟的解决方案是在项目中引入json.js库,该扩展库是由大师Douglas Crockford扩展实现(有兴趣的童靴可以读下源码),在最近的一次更新中可以看到如下建议,json.js文件应该使用被最新的json2.js替换。

 

https://github.com/douglascrockford/JSON-js可以下载到json.js和json2.js两个文件。

 

posted @ 2015-07-20 15:57  jnpd  阅读(204)  评论(0编辑  收藏  举报