码迷,mamicode.com
首页 > Web开发 > 详细

js解析json字符

时间:2017-04-21 17:56:41      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:pre   parse   alert   sage   name   code   url   stat   mail   

这是真真遇到的问题,后台给我返回的是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字符

标签:pre   parse   alert   sage   name   code   url   stat   mail   

原文地址:http://www.cnblogs.com/wang715100018066/p/6744779.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!