轉:JSON字串還原成JS原生值
阿新 • • 發佈:2019-01-23
JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式,採用完全獨立於語言的文字格式,這些特性使JSON成為理想的資料交換語言。json是JavaScript的一個嚴格的子集,利用JavaScript中的一些模式來表示結構化資料。
JSON語法:
1.簡單值
可以在JSON中表示字串、數值、布林值和null。(注:字串最好用雙引號括起來)。
2.物件
//普通物件表示
var box={
Name:’Lee’,
Age:100
};
//JSON物件表示 { “name”:”Lee”, ”age”:100 }
3.陣列
//普通陣列
var box=[100,’Lee’,true];
//JSON陣列
[100,”Lee”,true]
解析
定義:將JSON字串還原成JS原生值(即JS的物件或陣列)。
1.eval()
//json字串
var json=’{“title”:”a”,”num”:1}’
//解析
var obj=eval(json);
缺點:不安全。
2.parse()
var obj=JSON.parse(json);
序列化
定義:序列化就是解析的反過程,將JS的原生值轉化成json字串。
//序列化
var box=JSON.stringify(json);
優勢
1. 資料格式比較簡單, 易於讀寫;
2. 易於解析;
3. 支援多種語言。
Json之所以流行,擁有與js類似的語法並不是全部原因。更重要的一個原因是,可以把json資料結構解析為有用的js物件。與xml資料結構要解析成dom文件而且從中提取資料極為麻煩相比,json可以解析為js物件的優勢極其明顯。