js解析json字符

Posted 最爱小虾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js解析json字符相关的知识,希望对你有一定的参考价值。

这是真真遇到的问题,后台给我返回的是json的字符串:

{"status":410,"data":"","message":"\u672a\u586b\u5b8c\u5185\u5bb9"}

一、JSON字符串转换为JSON对象

首先想到的是eval,想着直接eval(data),最后出现的报错,然后就茫然,

后来查找了方法:注意这里的写法,要多了一对带单引号的小括号;

var obj = eval(‘(‘ + str + ‘)‘);

最后解决了问题。

得到了正常的json对象:

{
  "status": 200,
  "data": {
    "emailUrl": "mail.qq.com"
  },
  "message": "邮件已发送至您的邮箱,请登录验证"
}

拓展:

或者

var obj = str.parseJSON(); //由JSON字符串转换为JSON对象

或者

var obj = JSON.parse(str); //由JSON字符串转换为JSON对象

然后,就可以这样读取:

Alert(obj.name);

Alert(obj.sex);

特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。

 

以上是关于js解析json字符的主要内容,如果未能解决你的问题,请参考以下文章

java中把json怎么转换成数组?

JS中如何将JSON的字符串解析成JSON数据格式

js怎么解析geojson 格式的

JSON.Parse 在 Faker.js 中将字符串解析为 JSOn 时在位置 0 显示错误

js怎么解析json数据

JS高级——eval