JSON
什么是JSON?
JSON(javascript object notation)【javascript 对象表示法】是一种轻量级的数据交换格式。
JSON语法
- {}表示对象。
- []表示数组。
- " "内是属性或值。
- :前属性,后值。
- ,隔开多个数据。
- 属性是字符串,而值可以是数值,布尔,null,对象和数组。
JSON字符串与对象的区别
JSON字符串是指符合json要求的字符串,如var jsonStr="{'StudentID':100,'name':'snake'}"
JSON对象是指符合json要求的对象,如var jsonObj={"StudentID":100,"name":"snake"}
也就是说,json字符串外面是由单引号和双引号包住的字符串。
使用JSON
JSON是JS的一个子集,所以可以在JS中轻松的读写JSON。读写JSON都有2种方法,分别用“.”和“[key]”的方式。
首先先定义一个JSON对象。
var obj={
"1":"value1",
"2":"value2",
"count":3,
"person":[
{
"id":1,
"name":"张三"
},
{
"id":2,
"name":"李四"
}
],
"object":{
"id":1,
"msg":"对象里的对象"
}
}
1.从JSON中读取数据
function readJSON(){
alert(obj.1);//会报错Uncaught SyntaxError: Unexpected number
alert(obj.count);//或alert(obj["count"]);
alert(obj.person[0].name);//或alert(obj.person[0]["name"]);
alert(obj.object.msg);//或alert(obj.object["msg"]);
}
所以最好不要把数字当做属性
2.向JSON里面写数据
function writeJSON(){
//如果没有属性的,则创建该键值对,有该属性,则改变其值。
obj.sex="男";//或obj["sex"]=男;
}
3.删除JSON里面的数据
function DeleteJSON(){
delete obj.count;
}
4.遍历JSON对象
function TraverseJSON(){
for(var att in obj){
console.log(att+":",obj[att]);
}
}
5.JSON对象与JSON字符串的转换
var strObj=JSON.stringify(obj);//把JSON对象字符化。
var newObj=JSON.parse(strObj);//把JSON字符串解析成JSON对象。