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);//会得到字符串
  • 相关阅读:
    numpy用法介绍-未完待续
    GeoJSON相关操作
    awk日志分析
    awk获取外部变量
    Shell编程二
    Shell编程
    Linux监控平台搭建
    Linux集群架构
    Linux集群
    MySQL主从(MySQL proxy Lua读写分离设置,一主多从同步配置,分库分表方案)
  • 原文地址:https://www.cnblogs.com/sanerandm/p/8303986.html
Copyright © 2011-2022 走看看