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 + ')')
    }
}
复制代码
相关文章
相关标签/搜索