JSON數據

###JSON數據格式 不是一種數據類型 而是一種數據格式 是一種先後端交互時經常使用的數據格式json

JSON對象

屬性名和屬性值都是雙引號 若屬性值是一個數字能夠不用雙引號包裹後端

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會把({...})當成一個對象
複製代碼

封裝方法 json 轉成JSON

/** desc
* @desc JSON字符串轉JSON
*@param jsonstr json格式字符串
*@returns json格式對象
*/
function toJSon(jsonstr){
    if('JSON' in window){
        return JSON.parse(jsonstr);
    }else{
        return eval('('+jsonstr + ')')
    }
}
複製代碼
相關文章
相關標籤/搜索