【JSON】JSON初了解

来源:互联网 发布:linux 开机自启动脚本 编辑:程序博客网 时间:2024/06/06 06:59
一、JSON是什么?

       JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,主要用于传送数据。JSON采用完全独立于语言的文本格式,而不仅仅是JavaScript独有的数据格式。其他很多语言都可以对JSON进行解析和序列化。


二、JSON语法:
       可以用来表示三种类型的值:
       1、简单值:用双引号: ""
       2、数组:[100,"lee",true]
       3、对象:{
       "name":"Lee",
                       "age":100

           }


三、JSON的加载:
       一般情况下,我们把JSON数据结构保存到一个文本文件中,然后去加载它,得到数据字符串。
       //demo文件(后缀名为.json)
       var json=load('demo.json');

       alert(json);

      //json文件
      var json='[{"title":"a","num":1},{"title":"b","num":2}]';
四、解析和序列化

       如果是载入的JSON文件,我们需要对其进行使用,那么就必须对JSON字符串解析成原生的JavaScript值。当然,如果是原生的JavaScript对象或字符串也可以序列化为JSON字符串。

       早期使用eval()函数,但是它会执行一些恶意代码,Eval()函数是不安全的。
       var box='[{"title":"a","num":1},{"title":"b","num":2}]';
       alert(box);//json字符串
       var json=eval(box);//使用eval函数解析
       alert(json);      //得到JavaScript原生值

为了安全起见,我们最好使用JSON对象的解析和序列化的方法:
1、原生JS值-------JSON字符串:stringify();
var box=[{name:'a',age:1},{name:'b',age:2}];       //原生JavaScript
        var json=JSON.stringify(box);                      //转换成JSON字符串
        alert(json);
       在序列化JSON的过程中,stringify()方法还提供第二个参数。第一个参数可以是一个数组,也可以是一个函数,用于过滤结果。第二个参数则表示是否在JSON字符串中保留缩进。
2、JSON字符串-----原生JS值:parse();
        var box='[{"name":"a","age":1},{"name":"b","age":2}]'; //key value中的value要用双引号
        alert(box);
        var json=JSON.parse(box);
        alert(json);

 五、总结:

        最初接触到JSON,是在李炎恢老师的JavaScript视频提到的,当时仅仅是匆匆掠过,没有留下任何痕迹,现在在ITOO项目中又遇到了JSON,重新回过头来学习,会有不一样的体验。学习就像牛吃草一样,是需要一次一次的反刍才能彻底消化,吸收精华。

0 0