伟大的通信使者——JSON(JavaScript版本)
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript 规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。(摘自百科)
在前端开发中,JSON数据可以作为一个结构体存储复杂的结构关系,在此基础上实现前后台的数据交互,不管怎样,掌握JSON的结构和转换时不可或缺的。
一、JSON格式
JSON有两种结构:对象、数组。对象是以键值对的形式表示,比如:
var jsonObj={ key1: "value1", key2: "value2", key3: "value3" }
而数组是以“[]”包裹若干个“{}”的形式表示,比如:
var jsonArray = [ {"a":"hello"}, { "b":"nice", "c":"to" }, { "d":"meet", "e":"you" } ]
二、JSON的访问
从JSON的构成可以看出来,可以使用"."或者“[]”来获取或者增加json数据里的具体某个值。比如:
console.log(jsonObj.key1); //value1 console.log(jsonObj["key2"]); //value2 //增加新数据 jsonObj["key4"]="value4"; console.log(jsonObj.key4); //value4 //修改数据 jsonObj.key3="value0"; console.log(jsonObj["key3"]); //value0 //删除数据 delete jsonObj["key1"]; console.log(jsonObj); //{key2: "value2", key3: "value0", key4: "value4"} //遍历数据 for(var key in jsonObj){ console.log(key); } //key2 //key3 //key4
三、JSON数据的转换
1.JSON对象转换成JSON字符串
//方法一:JSON.stringify(jsonobj); JSON.stringify(jsonobj); //可以将json对象转换成json对符串 //"{"key2":"value2","key3":"value0","key4":"value4"}" //方法二:jsonObj.toJSONString(); jsonObj.toJSONString(); //"{"key2":"value2","key3":"value0","key4":"value4"}"
2.JSON字符串转换成JSON对象
//方法一:JSON.parse(str) var jsonStr='{"key2":"value2","key3":"value0","key4":"value4"}'; JSON.parse(jsonStr); // Object {key2: "value2", key3: "value0", key4: "value4"} //方法二:eval var jsonObj = eval('(' + jsonStr + ')'); // Object {key2: "value2", key3: "value0", key4: "value4"} //方法三: jsonStr.parseJSON() var jsonObj = jsonStr.parseJSON(); // Object {key2: "value2", key3: "value0", key4: "value4"}
四、网址和json2.js下载使用