闲来无事(瞎折腾),在GitHub上看到好玩的API就拿来玩一下,因为要用到Json数据,就学了一下用原生的JavaScript操作Json数据。其实也没有怎么接触过Json数据,之前用GitHub的API写了个JS来获取我的repo里面的内容第一次用Json数据,在这里就记录一下。
Json对象
1 2 3 4 5 6 7 8 9 10 11
| // JS中新建一个Json对象 var Json = {"name":"value"}
// 添加/修改数据,通过key来访问 Json["gender"]="male" // 或者 Json.gender="male"
// 删除数据 delete Json.name
|
Json数组的操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| // Json数组的操作 // 新建 var Jsonarray = [{"name":"zhangsan"},{"name":"lisi"}]
// 添加
Jsonarray.push({"name":"wangwu"})
Jsonarray.splice(1,0,{"name":"wangwu"}) // 这里理解为在索引为1的位置插入一个(或多个)Json对象,占有从索引1开始位置 // 也可以用来替换/修改Json数组对象,只要把第二个参数0改成非0,例如1 // 就等同于 把从索引为1开始的1个对象(没有默认为空对象,也就是添加)替换成第三个参数{"name":"wangwu"} // 也就是说有第三个或者以上参数就是替换或者增加,没有则是删除
// 修改,访问key来直接修改 Jsonarray[0].name="newname"
// 删除 delete Jsonarray[0] // 只是清空,但是其实还占有位置
Jsonarray.shift() // 删除第一项,返回删除的对象 Jsonarray.pop() // 删除最后一项,返回删除的对象 // splice方法,上面有提到,也是返回删除的对象
// 其实通过上面可以看出,Json数组也是一个普通的数组,操作也是和数组的操作一样的,只不过对象变成了Json对象
|
Json的两个重要函数
这两个函数分别是
JSON.parse()
JSON.stringify()
JSON.parse(a)
就是把a这个字符串解析成Json格式的对象
JSON.stringify(b)
就是把b这个Json对象解析成可以被识别的Json字符串
可能这样说不太好理解,这么说吧,如果要通过POST协议传输Json类型的数据,但是是不能直接传输Json对象的,解析成字符串对象就可以。
最后
总所周知,Json对象是可以嵌套的,无论是对象或者数组都可以,但是操作方法都一样的,只要通过Json.key来访问到子对象/子数组,操作起来也是一样的。
本文由adiynil原创编写,转载请尽量保留版权网址,感谢您的理解与分享!