我使用的是节点版本6.0.0。我想将JSON字符串解析为JSON对象。该字符串包含一个对象数组。
但JSON.parse
根本没有成功转换任何类型的数组。
它为所有数组返回一个空数组,无论它们的内容是什么。
编辑:这不仅仅是一个控制台问题。我将解析后的数据保存在我的数据库中。而且我也看到一个空数组。控制台没有任何魔术技巧。
更新:某些外部代码已破坏数组定义。现在,所有数组定义都以空数组结束。调试原因,感谢所有回复。
示例:
contacts = '{"data": [{"p": "", "e": "", "n": "Veera Sundar"}]}' // This is my example JSON String. Rest are hit and trials.
> JSON.parse(contacts)
{ data: [] }
> a = '{"data": [{"p": ""}]}'
'{"data": [{"p": ""}]}'
> JSON.parse(a)
{ data: [] }
> a = '{"data": [1,2,3]}'
'{"data": [1,2,3]}'
> JSON.parse(a)
{ data: [] }
> a = '{"d": [1,2,3]}'
'{"d": [1,2,3]}'
> JSON.parse(a)
{ d: [] }
> a = '{"d": {"c":1}}'
'{"d": {"c":1}}'
> JSON.parse(a)
{ d: { c: 1 } } // Works for objects
> a = '{"d": {"c":[1]}}'
'{"d": {"c":[1]}}'
> JSON.parse(a)
{ d: { c: [] } }
> a = '{"d": {"c":["b","e"]}}'
'{"d": {"c":["b","e"]}}'
> JSON.parse(a)
{ d: { c: [] } }
> a = '{"d": {"c":[{"b":1}]}}'
'{"d": {"c":[{"b":1}]}}'
> JSON.parse(a)
{ d: { c: [] } }
> a = '{"d": {"c":["undefined"]}}'
'{"d": {"c":["undefined"]}}'
> JSON.parse(a)
{ d: { c: [] } }`
其他一切都失败了!!
请让我知道我做错了什么。所有这些示例都适用于常规控制台,例如:Chrome控制台。