美文网首页
# JSON 对象、JSON 字符串 转换

# JSON 对象、JSON 字符串 转换

作者: 春泥村雨 | 来源:发表于2018-11-29 22:17 被阅读9次

    1. JSON 对象

    json 对象,可以通过 javascript 存取属性,如“对象.属性”调用。

    var data = {'name':"张三",'age':20};
    console.log(data);
    console.log(typeof(data));
    console.log(data.age);
    
    jsonObj.png

    2. JSON 字符串

    json字符串是一个用单引号或者双引号引起来的字符串,因为字符串的格式符合json的格式,所以叫做json字符串。

    var data = "{'name':'张三','age':20}";
    console.log(data);
    console.log(typeof(data));
    console.log(data.age);
    
    jsonString.png

    3. JSON 对象转化为 JSON 字符串

    例如:

    // 方法1:将 JSON 对象转化为 JSON 字符串
    var last = obj.toJSONString();
    alert(last);
    
    // 方法2:将 JSON 对象转化为 JSON 字符串
    var last = JSON.stringify(obj); 
    alert(last);
    

    4. JSON 字符串转换为 JSON 对象

    在数据传输过程中,json 是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如:

    // JSON字符串
    var str1 = '{ "name": "cxh", "sex": "man" }'; 
    // JSON对象
    var str2 = { "name": "cxh", "sex": "man" };
    
    // 方法1:JSON 字符串转换为 JSON 对象
    var obj = eval('(' + str + ')');
    alert(obj.name);
    alert(obj.sex);
    
    // 方法2:JSON 字符串转换为 JSON 对象
    var obj = str.parseJSON();
    alert(obj.name);
    alert(obj.sex);
    
    // 方法3:JSON 字符串转换为 JSON 对象
    var obj = JSON.parse(str); 
    alert(obj.name);
    alert(obj.sex);
    

    注:

    1. 如果 obj 本来就是一个 JSON 对象,那么使用 eval() 函数转换后(哪怕是多次转换)还是 JSON 对象,但是使用parseJSON() 函数处理后会抛出异常;
    2. eval() 函数是 js 自带,其他的几个方法都来自 json.js 包;
    3. 新版本的 JSON 修改了 API,将 JSON.stringify()JSON.parse() 两个方法都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()
    4. 如果提示找不到 toJSONString()parseJSON() 方法,则说明 json 包版本太低。

    参考链接:

    https://blog.csdn.net/u010865136/article/details/78591765
    http://www.cnblogs.com/zkwarrior/p/4822470.html

    相关文章

      网友评论

          本文标题:# JSON 对象、JSON 字符串 转换

          本文链接:https://www.haomeiwen.com/subject/flmqcqtx.html