【问题标题】:Converting XML string to JSON将 XML 字符串转换为 JSON
【发布时间】:2016-03-17 16:13:31
【问题描述】:

我正在向我的 Node 应用程序的 Census API 发出 API 请求。我收到的响应是一个 XML 字符串:

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

我想把它转换成 JSON。我曾尝试使用 npm xml2js,但收到以下错误:
“第一个标签之前的非空格。 线路:0 栏目:1
我不懂 XML,因此很难理解错误消息。有什么好主意如何将此响应转换为 JSON?提前致谢!

【问题讨论】:

  • 如果它是一个 JSON 字符串,你为什么认为它是一个 XML 搅拌?只需做一个JSON.parse(your_string)
  • 如果这是一个 XML 响应,我会失去理智.... @VsevolodGoloviznin 你的评论应该有效
  • 您的示例不是 XML 字符串。这就是为什么你不能转换是使用 xml2js
  • 对不起。我认为 JSON 响应将是一个对象 {} 而不是数组 []

标签: json xml node.js


【解决方案1】:

您没有收到 XML 响应。这是一个解析的 JSON 字符串。

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

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

【讨论】:

    【解决方案2】:

    这是 JSON。问题是它在开头和结尾有 2 个额外的双引号。

    你可以这样做:

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

    【讨论】:

    • 节点实际上可能会解析它而不删除额外的双引号。
    猜你喜欢
    • 2012-10-26
    • 1970-01-01
    • 2019-10-29
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 2018-08-29
    相关资源
    最近更新 更多