JSON的用法与使用(1)

前言:

        JSON(JavaScript Object Notation)是一种数据交换的格式,也就是说JSON是一种标准的数据的格式写法,由于其轻便易读的优点,可以很方便的获取其值,特别在ajax中数据传输的交换格式JSON相对方便易读。


一. JSON的写法

        按照说法有JSON字符串和JSON对象两种情况,其实就思想上来说,JSON对象其实就是以特定的写法形式来命名一个对象,而json字符串则是在字符串环境下写的以JSON的写法形式写的字符串   比如:

  <!-- json对象-->
    var test1 = {"a":1,"b":1};
    var test2 = {a:123,"b":123};
    console.log(test1);
    console.log(test2);

        可以看到控制台确实两种方式输出了object类型,说明在创建直接JSON对象时键值可以是字符串也可以不是,这里我认为非字符串是隐式声明变量,下面再来看看JSON字符串:

 <!-- json字符串-->
    var test3 = '{"a":1,"b":2}';
    var erro = '{a:1,"b":2}';
    console.log(test3);
    <!-- json字符串转化为对象-->
    var test4 =  JSON.parse(test3);
    console.log(test4);  
<!--var result =  JSON.parse(erro);-->

        可以发现json字符串的格式有了特别规定,这里要求了JSON字符串 在字符串环境下的键值必须是字符串,如果不是那么在使用JSON.parse();反序列化时便会报错也因此在写JSON字符串时建议一定要将键值写完字符串格式。当然还是有其他办法使变量result接收到erro的反序列化后的对象,这便是eval():

  var test5 = eval('('+erro+')');
    console.log(5);

        利用eval()计算字符串内的结果的方式可以转化成创建JSON对象的方式,但一般来说并不建议使用eval()的方式实现反序列化,因为eval()本身的特性,不容易调试还特别容易用错比如:

  var test6 = eval(erro);

便会直接报错,所以总的来说为了规范JSON写法建议在创建JSON对象或者JSON字符串时键值用字符串格式.







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值