zoukankan      html  css  js  c++  java
  • javascript 字符串转换json对象

    json 是 javascript object notation的缩写。javascript对象标记语言,所以可以通过对象获取属性的方式来取得层级关系。

    1.eval()方法转换json对象 

    以前经常可以看到这种转换方式,不推荐,是一种不安全的转换方式。eval()方法会动态执行其中字符串(可能是js脚本),这样容易出现系统的安全问题和泄漏用户信息。

    var str = '{"name":"三国演义","category":"文学"}';
    var data = eval("("+ str +")");
    console.log(data.name);
    

    提问:为什么使用eval()将json字符串转换为对象要多加一个小括号?

    回答:

    迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。小括号,也就是分组符号(分组符内只允许表达式)。

    2.JSON.parse()方法转换json对象  

    现在主流的转换方式,推荐!

    var str = '{"name":"三国演义","category":"文学"}';
    var data = JSON.parse(str);
    console.log(data.name);
    

    提问:那如果把json对象再转换成字符串呢?

    var str = '{"name":"三国演义","category":"文学"}';
    var data = JSON.parse(str);
    var dataSring = JSON.stringify(data);
    console.log(dataSring);//会得到字符串
  • 相关阅读:
    Pandas也能轻松绘图,简单而又漂亮
    笔试题: 二叉排序数左移k个
    补题next_permutation
    从HTTP到HTTPS
    HTTP首部字段详解
    HTTP请求方法及响应状态码详解
    HTTP报文格式详解
    TCP/IP网络基础
    Netty学习笔记
    ZooKeeper学习笔记
  • 原文地址:https://www.cnblogs.com/sanerandm/p/8303986.html
Copyright © 2011-2022 走看看