2015-12-11 190 views
1

我正在为我的Node应用程序向Census API发出API请求。我收到的回复是一个XML字符串:将XML字符串转换为JSON

"[["POP","DATE","state"], 
["735132","6","02"], 
["735132","6","02"]]" 

我想将其转换为JSON。我曾尝试使用npm xml2js,但我收到以下错误:
“第一个标记之前的非空白 行:0 列:1
我不理解XML,因此它使得难以理解错误消息。好的想法如何,我可以转换这个响应JSON在此先感谢

+1

为什么你认为它是一个XML stirng如果它是一个JSON字符串?只要做一个'JSON.parse(your_string)' –

+1

如果这是一个XML响应,我正在失去我的想法.... @VsevolodGoloviznin您的评论应该工作 –

+1

您的示例是**不** **一个XML字符串。这就是为什么你不能转换使用xml2js –

回答

2

你不是getti一个XML响应。这是一个解析的JSON字符串。

所以,如果你想有一个JSON对象:

var response = "[["POP","DATE","state"], ["735132","6","02"], ["735132","6","02"]]"; 
var json = JSON.parse(response); 
1

这是JSON的问题是它有2个额外的双引号,在开始和结束

你可以这样做:?!。

var string = stringFromAPI; 
var sringWithoutExtraDoubleQuotes = string.substring(1, string.length - 1); 
var parsedObject = JSON.parse(sringWithoutExtraDoubleQuotes); 
+0

节点实际上可以解析它而不删除额外的双引号。 – chapinkapa