Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.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,我正在尝试用Javascript解析以下JSON,但没有成功 { "outer":"{'inner':{'key':'value'}}" } 在上述JSON上使用JSON.parse会产生无效语法错误。我已经验证了它是一个有效的JSON。我错过了什么 var json = '{"outer":"{'inner':{'key':'value'}}"}'; JSON.parse(json); 这在“内部”json处提供了一个意外的标识符。问题不是您的json,尽管它有自己的问题 您试图

我正在尝试用Javascript解析以下JSON,但没有成功

{  
   "outer":"{'inner':{'key':'value'}}"
}
在上述JSON上使用JSON.parse会产生无效语法错误。我已经验证了它是一个有效的JSON。我错过了什么

var json = '{"outer":"{'inner':{'key':'value'}}"}';
JSON.parse(json);

这在“内部”json处提供了一个意外的标识符。问题不是您的json,尽管它有自己的问题

您试图将其转换为JavaScript字符串,方法是将其包装为“characters”,但它已包含“characters”,因此必须对其进行转义

var json = '{"outer":"{\'inner\':{\'key\':\'value\'}}"}';
您最好将其作为对象文字处理:

var not_json = {"outer":"{'inner':{'key':'value'}}"};
console.log(not_json);

向我们展示如何解析JSON以及您的期望。JSON.parse{\outer\:\{'inner':{'key':'value'}};虽然它可能没有给出您希望的格式,但它仍然有效。-当我测试它时,它的解析没有错误。要编辑:注意在内部之前有一个'before'吗?这意味着你正在关闭你的字符串。你需要逃避它。\'。我甚至不确定他是否希望内部JSON是字符串。可能是个错误。谢谢大家的帮助,我想我需要先用双引号替换单引号,然后解析it@user_mda你可以,但是把它写成JSON然后解析它是没有意义的。你也可以照昆汀说的做,把它变成一个对象。谢谢迈克,我正在尝试解析和'key'的'value'值,这就是为什么我希望它是一个json和accessible@user_mda:这就是为什么我希望它是一个json如果你使用JavaScript,你几乎总是想要对象和数组,而不是json。例如,如果要创建和访问数据,则使用var data={outer:{inner:{key:'value'}}};。不需要解析任何东西。只有在将数据持久保存在磁盘上或在两个系统之间传输数据时,才需要使用JSON。JSON是文本数据表示。另一个例子:如果您想要一个数字数组,您只需要创建:var data=[1,2,3];。您可能不会创建一个CSV并解析它:var data='1,2,3'.split','.mapx=>Numberx。