Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中将JSON字符串转换为对象_Javascript_Json_String_Parsing - Fatal编程技术网

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

在javascript中将JSON字符串转换为对象,javascript,json,string,parsing,Javascript,Json,String,Parsing,嗨,我需要将字符串转换为JSON对象,以便从中获取值 下面是我的绳子 {“用户名”:“描述”,“密码”:“HIIIII”} 我尝试了下面的代码 var data='{ "USER_NAME": "Desc", "PASSWORD": "hiiiiiii"}' var output=JSON.parse(data); var user=output["USER_NAME"]; console.log(user) 但我得到的错误如下 Unexpected token u 我被困在这里了。任何帮助

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

{“用户名”:“描述”,“密码”:“HIIIII”}

我尝试了下面的代码

var data='{ "USER_NAME": "Desc", "PASSWORD": "hiiiiiii"}'
var output=JSON.parse(data);
var user=output["USER_NAME"];
console.log(user)
但我得到的错误如下

Unexpected token u

我被困在这里了。任何帮助都会很有帮助的。

你好,请试试这个。我不确定它是否有用

var str = '{ "USER_NAME": "Desc", "PASSWORD": "hiiiiiii"} }';
var json = JSON.stringify(eval("(" + str + ")"));
这就是你想要的

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

错误
意外标记u
不会出现在作为示例数据发布的内容中,但这是使用JSON时常见的错误,因为人们经常创建不正确(无效)的JSON,从而导致该错误

是JavaScript对象初始值设定项语法的子集(松散地称为“JavaScript对象文本”),但作为子集,其规则不同于JavaScript(更严格)

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

{用户名:“Desc”,密码:“hiiiii”}

…这是无效的,因为密钥(
用户名
密码
)必须在JSON中使用双引号。这是一个常见错误,因为它们不必使用JavaScript;但JSON要求他们这样做

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


{“用户名”:“Desc”,“密码”:“hiiii”}

JSON是一种文本表示法。您要做的是将JSON字符串转换为JavaScript对象。您确定错误来自此代码吗?您描述的错误不会发生在您的代码中。我的猜测是,您的实际数据中有一个键不在引号中,例如,
{user:“foo”}
,这是无效的JSON(
user
必须在引号中,特别是双引号)。请检查上面的这些值是否发生这种情况。可能您的字符串包含一些JSON不友好字符或一些JSON语法错误计算机生成的JSON(使用
JSON.parse()
)如下所示:
{“用户名”:“Desc”,“密码”:“hiiiii”}
@2astalavista:
JSON.parse
不生成字符串,而是使用字符串。我不明白你想说什么。JSON.stringifyinstead@2astalavista当前位置我还是不明白你在说什么。是,
JSON.stringify
生成有效的JSON。OP试图解析的内容都不是有效的JSON。