对JSON的操作,JSON字符串与JSON对象的区别

这几天,在做ajax传递的时候,完全搞不清楚定义json字符串,数组,对象的区别,也不知道怎么定义,于是时候专门查了一下,一下两个连接是我这篇博文的主要参考:

1.

javascript、js操作json方法总结  http://www.haorooms.com/post/js_jsons_h

2.

JSON字符串与JSON对象的区别 http://www.haorooms.com/post/json_object_json_string


好了,直接开始:
json手册中规定json的语法规则:花括号({})保存对象,方括号([])保存数组。
   json的数据规则:名/值对的形式,字符串必须使用双引号("")包起来,具体表现形式: "firstName" :  "John"(相当于js的:firstName = "John"),多个名值对之间使用逗号(,)分隔。

json字符串:var str1 = '{"name" : "maosilu", "sex" : "woman"}';
json对象:    var str2 = {"name" : "maosilu", "sex" : "woman"};

要运用上面的str1,必须运用下面的要领先转化为JSON对象(这一点在ajax返回的时候,经常遇到!):
json字符创转json对象有三种方法:
1. var obj = eval('(' + str1 + ')');   //json字符串转换为json对象
2. var obj = str1.parseJSON();  //json字符串转换为json对象
3. var obj = JSON.parse(str1);  //json字符串转换为json对象

取值的方式为:alert(obj.name);          alert(obj.sex);

特别注意:如果obj本来就是一个JSON对象,那么运用 eval()函数转换后(哪怕是多次转换)还是JSON对象,但是运用 parseJSON()函数处理后会有疑问(抛出语法异常)。

json对象转化为json字符串有两种方法:
1. var last = obj.toJSONString();
2. var last = JSON.stringify(obj);

取值的方式为:alert(last);

上面的多个要领中,除了eval()函数是js自带的之外,其他的多个要领都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个要领都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()要领,则说明您的json包版本太低。

上面是对javascript的简单总结,部分总结参考网络。但是很多在平时都用的到,特别是json字符转对象的操作!这点是非常重要的!

JSON字符串与JSON对象的区别:

JSON对象是直接可以使用JQuery操作的格式,和js中的对象一样,可以用对象(类名)点出属性(方法)。

JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用,除非你只想alert()他。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值