在服务器-前端的传递中,很多情况下我们都是需要用到json来作为我们传输数据的载体,json数据的格式很是轻巧,而且是格式很严格,别人觉得这是缺点,但是我觉得是优点。
json的特色莫过于以下几点:
数据在键值对中
数据由逗号分隔
花括号保存对象
方括号保存数组
json的值有以下几种:
数字整数或浮点数
字符串
逻辑值
数组
对象
null
方法
在havascript中,解析json数据,想到的第一个肯定是用eval()去解析,
这时候又两种情况:
1.json字符串:
比如:
var json='{"name":"CJ","age":18};
在这个格式中,我们已经定义了一个json数据,这时候无需使用eval,就可以直接去获得值了:
<script type="text/javascript" charset="utf-8">
function a() {
json = {"name":"CJ","age":18};
console.log(json.name);
}
</script>
显示的结果自然是cj
2.json数组
接着用怎么用eval来获取json对象:
var json = '{"name":"CJ","age":18}';
var jsonobject = eval("(" + json + ")");
console.log(jsonobject.age);
这时候,在控制台上就可以输出我们需要的东西了
细心的朋友发现了吗?这里的json与上面的json相比,多了一个单引号,如果不加就不会读取到,但是这对json有什么影响吗?做个例子看看:
各位朋友应该看得出来,因为连颜色都变了,就不多述了。
接着,怎么读取json数组?,很简单,因为是数组。所以要读取第一项时候应该怎么做:
var json1=jsonarray【0】;
然后再去使用他,此时返回的是json对象要读取键值对,相信大家都会了
2.用json。parse();
这是我现在使用的方法,因为之前使用eval读取键值对时,有时候会出现如上面一样,当一个值域没有加双引号时候突然就读取不到了,可能是因为操作缘故吧,然后那时候我就开始使用json。parse();来读取数据
josn。parse使用非常简单:
1.读取json对象。json数组:
我就随便接一段代码:
以上是用来读取json数组的,json对象读取也是一样,只是少了个循环体而已