您的位置:首页 > Web前端 > JavaScript

json初步认识

2016-07-06 16:53 489 查看
1、JSON是什么

JSON 语法是 JavaScript 语法的子集。

2、JSON格式

       JSON有两种表示结构,对象和数组

对象结构如下:

{
key1:value1,
key2:value2,
...
}


数组结构如下:

[
{
key1:value1,
key2:value2
},
{
key3:value3,
key4:value4
}
]


其中关键字(key)是字符串,而值(value)可以是字符串,数值,true,false,null,对象或数组

3、操作JSON(增删改查)

定义JSON对象如下:

var obj = {
1: "value1",
"2": "value2",
count: 3,
person: [ //数组结构JSON对象,可以嵌套使用
{
id: 1,
name: "张三"
},
{
id: 2,
name: "李四"
}
],
object: { //对象结构JSON对象
id: 1,
msg: "对象里的对象"
}
};


读取:

alert(obj.1); //会报语法错误,可以用alert(obj["1"]);说明数字最好不要做关键字
alert(obj.2); //同上

alert(obj.person[0].name); //或者alert(obj.person[0]["name"])
alert(obj.object.msg); //或者alert(obj.object["msg"])

增加:

//往JSON对象中增加了一条记录
obj.sex= "男" //或者obj["sex"]="男"

增加数据后的JSON对象如图:

修改

obj.count = 10; //或obj["count"]=10


删除:

delete obj.count;


遍历:

for…in…


for (var c in obj) {
console.log(c + ":", obj[c]);
}


JSON字符串:  推荐使用官网实现方式(jsp中引入json2.js,基本支持各个游览器)

如:  var jsonStr = '{"firstName":"John4"
, "lastName":"Doe4" }';
var obj = JSON.parse(jsonStr);alert(obj.firstName);

1>jQuery插件支持的转换方式: 

$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 

2>JSON官方的转换方式:  http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;  可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。

3>浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器: 

JSON.parse(jsonstr); //可以将json字符串转换成json对象 

JSON.stringify(jsonobj); //可以将json对象转换成json对符串 

注:ie8(兼容模式),ie7和ie6没有JSON对象,推荐采用JSON官方的方式,引入json.js。 

4>Javascript支持的转换方式: 
eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号 
注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: