当前位置:   article > 正文

js实现字符串转json对象的四种方法_js 字符串转json

js 字符串转json

1. javascript函数eval()

语法:

var obj = eval ("(" + txt + ")");  //必须把文本包围在括号中,这样才能避免语法错误

eval()定义:eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。

注意:当字符串中包含表达式时,eval() 函数也会编译并执行,转换会存在安全问题。

2. 浏览器自带对象JSON,JSON.parse()

语法:

  1. var obj = JSON.parse(text[, reviver])
  2. //text:必需, 一个有效的 JSON 字符串。解析前要确保你的数据是标准的 JSON 格式,否则会解析出错。
  3. //reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。

JSON.parse()比eval()安全,而且速度更快。支持主流浏览器:Firefox 3.5,IE 8,Chrome,Opera 10,Safari 4。

注意:IE8兼容模式,IE 7,IE 6,会存在兼容性问题。

3. jQuery插件,$.parseJSON()

语法:

var obj = $.parseJSON(json)  //json:String类型,传入格式有误的JSON字符串可能导致抛出异常

4. ajax请求获取json数据时,$.getJSON() 

语法:

  1. jQuery.getJSON(url,data,success(data,status,xhr))
  2. //url 必需。规定将请求发送的哪个 URL。
  3. //data 可选。规定连同请求发送到服务器的数据。
  4. //success(data,status,xhr) 可选。规定当请求成功时运行的函数。

这个时候返回的data已经是JSON对象,不需要再进行转换。

$.getJSON() 是简写的 Ajax 函数,等价于:

  1. $.ajax({
  2. url: url,
  3. data: data,
  4. success: callback,
  5. dataType: "json"
  6. });
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/585212
推荐阅读
相关标签
  

闽ICP备14008679号