2014-10-20 146 views
0

我试图解析此JSON字符串:解析JSON字符串数组

var string = '{"DataSerialized":{"DocumentElement":{"NAME_LIST":"FIELD_1":"VALUE_1","FIELD_2":"VALUE2","FIELD_3":"VALUE_3"}}}}';

如何一个JSON对象如何:

{ 
    "DataSerialized":{ 
     "DocumentElement":{ 
      "NAME_LIST":{ 
       "FIELD_1":"VALUE_1", 
       "FIELD_2":"VALUE2", 
       "FIELD_3":"VALUE_3" 
      } 
     } 
    } 
} 

对于这一点,我试图与jQuery.parseJSON(string)但结果是错误的:

SyntaxError: JSON.parse: expected ',' or '}' after property value in object at line 1 column 60 of the JSON data

我认为这是带引号的问题,但我不知道什么事先不对正是

感谢

SOLUTION: {NAME_LIST

var string = '{"DataSerialized":{"DocumentElement":{"NAME_LIST":{"FIELD_1":"VALUE_1","FIELD_2":"VALUE2","FIELD_3":"VALUE_3"}}}}';

+2

使用JSON做不能用单引号。 http://jsonlint.com/ – epascarello 2014-10-20 14:38:31

+1

你的JSON无效,你有一个额外的大括号。 – inorganik 2014-10-20 14:39:13

回答

4

你有一人失踪在NAME_LIST之后输入{,您应该使用"而不是'

+2

实际上,在NAME_LIST之后有一个缺少''''。更改后仍然无效。 – vesse 2014-10-20 14:44:20

+0

是的,这是问题,''在'NAME_LIST'之后。非常感谢 – oscarvady 2014-10-20 14:49:00

+0

感谢您的建议vesse – DrRoach 2014-10-20 14:49:48

0

此字符串:

var string = "{'DataSerialized':{'DocumentElement': 
    {'NAME_LIST':'FIELD_1':'VALUE_1','FIELD_2':'VALUE2','FIELD_3':'VALUE_3'}}}}"; 

有一个太多的右花括号。

0

当您使用$.parseJSON你应该使用“,而不是”

如果你有JSON格式的任何问题

。尝试jsonformatter

+0

即使它不是有效的,尝试使用Python json.load(“hisjson”)它不起作用,Json使用双引号! – 2014-10-20 14:42:33

0

你有一个错误的JSON格式,你错过了一个{名单后,有正确例如

var string = '{"DataSerialized":{"DocumentElement":{"NAME_LIST":{"FIELD_1":"VALUE_1","FIELD_2":"VALUE2","FIELD_3":"VALUE_3"}}}}'; 
JSON.parse(string); 

尝试浏览器,开发者控制台上运行它,然后你会看到正确的对象