无法解析节点

时间:2016-05-23 07:22:14

标签: javascript json node.js

我使用的是节点版本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控制台。

1 个答案:

答案 0 :(得分:0)

发现这是Node v6.0.0中的一个错误,其中填充数组表示为空数组。 在git上发布了this issue。它已在6.2.0版本上得到解决。