在javascript中将JSON字符串转换为对象

时间:2013-09-19 12:58:45

标签: javascript json string parsing

您好我需要将字符串转换为JSON对象,以便我可以从中获取值 下面是我的字符串

  

{“USER_NAME”:“Desc”,“PASSWORD”:“hiiiiiii”}

我尝试了以下代码

var data='{ "USER_NAME": "Desc", "PASSWORD": "hiiiiiii"}'
var output=JSON.parse(data);
var user=output["USER_NAME"];
console.log(user)

但我得到的错误如下

Unexpected token u

我被困在这里任何帮助都会有所帮助

3 个答案:

答案 0 :(得分:2)

错误Unexpected token u不会出现在您作为示例数据发布的内容中,但 是您在使用JSON时看到的常见错误,因为人们经常创建不正确的(无效)导致该错误的JSON。

JSON是JavaScript对象初始化程序语法的子集(松散地,“JavaScript对象文字”),但作为子集,其规则与JavaScript不同(更严格)。 / p>

导致问题的实际JSON字符串可能如下所示:

{user_name: "Desc", password: "hiiiiiii"}

...这是无效的,因为密钥(user_namepassword)必须在JSON中用双引号括起来。这是一个常见错误,因为它们不必是JavaScript;但是JSON要求他们这样做。

因此,有效版本看起来更像您在问题中发布的内容:

{"user_name": "Desc", "password": "hiiiiiii"}

答案 1 :(得分:0)

这是你想要的吗?

console.log(JSON.parse('{ "USER_NAME": "Desc", "PASSWORD": "hiiiiiii"}'));
//Object {USER_NAME: "Desc", PASSWORD: "hiiiiiii"} 

答案 2 :(得分:-5)

你好请试试这个我不确定可能会工作

var str = '{ "USER_NAME": "Desc", "PASSWORD": "hiiiiiii"} }';
var json = JSON.stringify(eval("(" + str + ")"));