概念简介
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。其采用key/value的键值对组成:
var packJson = {"name":"Liza", "password":"123"};
alert(packJson.name); //Liza
alert(packJson.password); //123
JSON的严格形式要求属性名称和属性值都加上双引号:
var packJson = {name:"Liza", password:"123"}; //不严格形式
var packJson = {"name":"Liza", "password":"123"}; //严格形式
JSON对象和JSON字符串的转换
1、JSON字符串转化为JSON对象
①var Obj = eval(Str); //可以解析任何形式字符串,不推荐使用
②var Obj = JSON.parse(Str); //只能解析格式严格的JSON形式字符串
③var Obj = jQuery.parseJSON(Str); //只能解析格式严格的JSON形式字符串
2、JSON对象转化为JSON字符串
①var Str = JSON.stringify(Obj); //对象可以是不严格的JSON,但解析为严格的JSON字符串
遍历JSON对象
如下代码遍历packJson对象的每个key/value对,i为key值,packJson[i]为对应的value值
var packJson = {"name":"Liza", "password":"123"} ;
for(var i in packJson ){
alert(i + " " + packJson[i]);
}
遍历数组时,可以用传统for循环,也可以用for in
遍历JSON时,只能用for in
对于数组中嵌套JSON,可用如下两种遍历方式:
packJson = [
{"name":"nikita", "password":"1111", "sex":"女"},
{"name":"tony", "password":"2222", "sex":"男"}
];
for(var i in packJson){
for(var j in packJson[i]){
alert(j + " " + packJson[i][j]);
}
}
for(var i = 0; i < packJson.length; i++){
for(var j in packJson[i]){
alert(j + " " + packJson[i][j]);
}
}