###JSON數據格式 不是一種數據類型 而是一種數據格式 是一種先後端交互時經常使用的數據格式json
屬性名和屬性值都是雙引號 若屬性值是一個數字能夠不用雙引號包裹後端
JSON格式的字符串和JSON格式的對象互轉 Window對象上提供了JSON的對象瀏覽器
window.JSON.stringfy()方法 把JSON格式的對象轉成JSON格式的字符串bash
window.JSON.parse()方法 把JSON格式的字符串轉成JSON格式的對象 window 對象上的方法調用時 能夠省略window IE6/7 沒有 JSON 對象,在低版本瀏覽器將 JSON 字符串 轉換爲 JSON 對象須要使用 eval 方法ui
let str5 = '{"name": "珠峯", "id": 1, "age": 18}';
// let obj4 = eval(str5);
// console.log(obj4); // 報錯:Unexpected token。。
複製代碼
報錯的緣由是 eval 把字符串轉成代碼執行,當遇到對象的花括號時,eval 會首先認定花括號是代碼塊,而不是對象;爲了解決這個問題,咱們須要給字符串外面多拼接一層小括號;spa
let obj5 = eval('(' + str5 + ')');
console.log(obj5); // 加小括號後eva會把({...})當成一個對象
複製代碼
/** desc
* @desc JSON字符串轉JSON
*@param jsonstr json格式字符串
*@returns json格式對象
*/
function toJSon(jsonstr){
if('JSON' in window){
return JSON.parse(jsonstr);
}else{
return eval('('+jsonstr + ')')
}
}
複製代碼