JSON(JavaScript Object Notation, JS 對象標記) 是一種輕量級的數據交換格式。它基於 ECMAScript 規範的一個子集,採用徹底獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成爲理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提高網絡傳輸效率。(摘自百科)前端
在前端開發中,JSON數據能夠做爲一個結構體存儲複雜的結構關係,在此基礎上實現先後臺的數據交互,無論怎樣,掌握JSON的結構和轉換時不可或缺的。git
1、JSON格式github
JSON有兩種結構:對象、數組。對象是以鍵值對的形式表示,好比:編程
var jsonObj={ key1: "value1", key2: "value2", key3: "value3" }
而數組是以「[]」包裹若干個「{}」的形式表示,好比:json
var jsonArray = [ {"a":"hello"}, { "b":"nice", "c":"to" }, { "d":"meet", "e":"you" } ]
2、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
3、JSON數據的轉換編程語言
1.JSON對象轉換成JSON字符串spa
//方法一: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對象code
//方法一: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"}
4、網址和json2.js下載使用