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);//会得到字符串
  • 相关阅读:
    IntelliJ IDEA 常用快捷键
    solr4.5分组查询、统计功能介绍
    用于Lucene的各中文分词比较
    Lucene打分规则与Similarity模块详解
    Lucene
    tar中的参数 cvf,xvf,cvzf,zxvf的区别
    tmux 入门踩坑记录
    第一个shell脚本
    make 和 make install 的区别
    交叉编译
  • 原文地址:https://www.cnblogs.com/sanerandm/p/8303986.html
Copyright © 2011-2022 走看看