【问题标题】:Converted JSON Array selection转换后的 JSON 数组选择
【发布时间】:2016-05-08 02:11:35
【问题描述】:

所以我在 Nodejs 中编写了这段代码:

var stemidLength= JSON.memberList.members[0].length;

for (stemidIndex = 0; stemidIndex < stemidLength; stemidIndex++) {
  var steamID64Length= JSON.memberList.members[steamidIndex].steamID64.length;

  for (steamid64Index = 0; steamid64Index < steamid64Length; steamid64Index++) {
    steam.addFriend(steamID64[i]);
  }
}

我正在尝试从此处的 xml 页面中提取 steamid64:http://steamcommunity.com/groups/Valve/memberslistxml/?xml=1。 我已经将 xml 页面转换为 JSON 数组。

我的代码有什么问题?收到错误:

无法读取未定义的属性“成员”。

编辑:提取的 JSON 数组:http://pastebin.com/FECXEKMD

谢谢。

【问题讨论】:

  • 从 XML 转换后得到的 JSON 对象的名称是什么?
  • 我编辑了它。那样可以么?还是?
  • 所以。 var steamUsers=JSON.stringify(data, null, 2);应该不错吧?
  • 你试过steamUsers.memberList.members[0].steamID64吗?
  • 如何将 XML 转换为 JSON?

标签: javascript json xml node.js


【解决方案1】:

JSON 对象是用于解析 JSON 并将字符串转换为 JSON 的内置对象。它没有memberList 属性。

我将 XML 到 JSON 转换的结果称为steamUsers

可以在steamUsers.memberList.members[0].steamID64 中找到 ID。您可以使用以下代码添加 ID:

xmlToJson(urlxml, function(err, data) {
    if (err) {
        return console.err(err);
    }

    var steamUsers = data;
    steamUsers.memberList.members[0].steamID64.forEach(function(memberID) {
        steam.addFriend(memberID);
        console.log(memberID);
    });
});

【讨论】:

  • 没有。这只是一个变量,所以我发现它与数组中实际包含的不同。
  • 好的,试试看。它还会从数组中选择正确的部分吗?
  • 我刚刚检查了 XML 文件并更正了我的答案。我很抱歉没有早点这样做。请看答案的最后一行。
  • 呃,我想你弄错了。还是一样的错误。好的,我想提取 之间的每个值
  • 我对这个问题发表了评论。将 XML 转换为 JSON 后,您需要发布收到的对象。
猜你喜欢
  • 2015-02-06
  • 2015-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多