• 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两个文件。

  • 相关阅读:
    汉诺塔
    协变和逆变随笔
    NetCore开发第一步 Log4Net日志引入
    插入排序算法
    选择排序算法
    冒泡排序算法
    排序算法
    线性链表
    SAN
    SAM -- Chap 8 提升方法 自我梳理
  • 原文地址:https://www.cnblogs.com/zjx2011/p/4661670.html
Copyright © 2020-2023  润新知