鏈接原文轉自:http://www.w3cschool.cn/json/xumd1piw.html
? ? ? ? ? ? ? ? ? ? ? ? ?http://www.cnblogs.com/zoumiaomiao/p/4909539.html
1、json數據:
JavaScript Object Notation(JavaScript 對象表示法);json是存儲和交換文本信息的語法(類似于XML),是一種輕量級的文本數據交換格式,比XML更快更小更易解析。json數據的結構,json有兩種結構:對象和數組
2、json數據的寫法與原生的對象寫法的區別:
對象字面量一般寫法是:
var aa ={name:"zoumm",job :"it",age :25};
json對象寫法:
{"name":"zoumm","job":"it","age":23,"school":{"name":"大學名",“add”:"中國"}}
因此:json對象不用定義變量,末尾不用寫分號,切所有的屬性名必須加雙引號;
一般數組是這樣定義的:
var aa = [23,"zoumm"];
json數組是這樣定義的
[23,"zoumm"]
他們的區別是,json數組不用定義變量,末尾不用寫分號;
3、為什么json數據要解析:json數據在傳輸的過程中是以文本格式存在的,即以字符串的形式存在,然而我們的js中操作的卻是對象,因此我們必須將json數據解析成對象的操作,然后才能用對象對數據進行訪問。
數據格式:
Json字符串:var json_str = ‘{"name":"xiao","age":12}';//單引號
Josn對象:var obj = {"name":"xiao","age":12};
JS對象:Object {name: "xiao", age: 12}
因此:要將Json字符串——>JS對象
4、json數據的解析:
a、JSON提供了json.js包,下載http://www.json.org/json.js 后,將其引入然后就可以簡單的使用object.toJSONString()轉換成JSON數據。
b、用eval()方法轉換到Object,再obj.toJSONString()
function myEval() {
var str = '{ "name": "Violet", "occupation": "character" }';
var obj = eval('(' + str + ')');
alert(obj.toJSONString());
}
3、或者用parseJSON()方法,再obj.toJSONString()
注意:eval()是JS原生函數,使用該形式:eval(‘('+‘{name:"xiao",age:12}'+')'),并不安全,無法保證類型轉換為JS對象;不建議使用
例子:
5、JS對象——>Json字符串: