【JSON】JSON语法

一、JSON是什么?

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


二、JSON语法:

    Json语法是JavaScript对象表示语法的子集,有如下特点:

    ①数据在键值对中

    ②数据由逗号分隔

    ③花括号保存对象

    ④方括号保存数组

例如:

{"people":[

  {"name":"zhao","age":21,"sex":"男"},
  {"name":"qian","age":22,"sex":"女"},
  {"name":"sun","age":23,"sex":"男"}	
]}





三、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
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 24
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值