JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.
-
数据在键值对中
-
数据由逗号分隔
-
花括号保存对象
-
方括号保存数组
在JSON中,有两种结构:对象和数组。
对象:{}
var jsonObj={
"name": "jack",
"age": "14",
"sex": "女"
}
var jsonStr='{"name":"tem","age":19}';
Json 和字符串经常互转
json转字符串
例如:
var last=obj.toJSONString(); //将JSON对象转化为JSON字符
或者
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
json字符串转换为json对象
//由JSON字符串转换为JSON对象
var obj = eval('(' + jsonStr+ ')');
或者
var obj = jsonStr.parseJSON(); //由JSON字符串转换为JSON对象
或者
var obj = JSON.parse(jsonStr); //由JSON字符串转换为JSON对象
注意:如果obj本来就是一个JSON对象,那么运用 eval()函数转换后(哪怕是多次转换)还是JSON对象,但是运用 parseJSON()函数处理后会有疑问(抛出语法异常)。
获取属性值
jsonObj.name
或者
jsonObj["name"]
赋值
jsonObj.name=“lijuan”
或者
jsonObj["name"]=“liming”
输出json对象的所有名称和值
for
(
var
key
in
jsonObj
)
{
console.info(key);
console.info
(jsonObj
[key]);
}
数组:[] 多个json对象的集合
var jsonAry=[
{
"name": "jack",
"age": "14",
"sex": "女"
},
{
"name": "may",
"age": "13",
"sex": "女"
},
{
"name": "tim",
"age": "14",
"sex": "男"
}
]
json数组操作:
jsonAry.push(jsonObj) // 添加一条记录到数组最后
jsonAry.pop() // 删除最后一项
jsonAry.shift(); //删除第一项
jsonAry.unshift(person);//数组最前面加一条记录
splice 方法使用
jsonAry.splice(0,1) //开始位置,删除个数 ,删除第0位置的1个对象,即是删除第一个对象 返回是被删除的对象
替换并删除
var newJson={"name":"yex","age":19}
jsonAry.splice(0,1,newJson) //开始位置,删除个数 ,替换对象
排序: sort()
例如:
jsonAry.sort();