【问题标题】:Object returning undefined返回未定义的对象
【发布时间】:2015-08-08 04:26:50
【问题描述】:

所以我试图从我从网站获得的 JSON 响应中读取一个值。我正在尝试从响应中获取 clan_name。这段代码

console.log(JSON.stringify(this.steamFriends.clanStates[groupID]));

其中 groupID 为 "103582791438731217",返回此对象

{
  "steamid_clan": "103582791438731217",
  "clan_account_flags": 3,
  "name_info": {
    "clan_name": "Chat Bot Testing & Development",
    "sha_avatar": {
      "type": "Buffer",
      "data": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ]
    }
  },
  "user_counts": {
    "members": 20,
    "online": 9,
    "chatting": 7,
    "in_game": 5
  },
  "events": [],
  "announcements": []
}

我使用代码JSON.stringify(this.steamFriends.clanStates[groupID].name_info.clan_name 从中获取clan_name 值,但我总是收到错误“无法读取未定义的name_info”。

对此有任何帮助吗?谢谢。

【问题讨论】:

    标签: javascript json node.js steam


    【解决方案1】:

    JSON.stringify 返回一个String 对象。

    如果响应返回一个 JSON 对象,那么它已经可以使用了……只需使用普通的对象访问器方法来查询您需要的属性。无需使用JSON.stringify

    【讨论】:

    • 哇哦。那是我的愚蠢。感谢您的帮助,我会在允许时接受答案。
    • @dragonbanshee,不傻,JSON.parse/stringify 可能会令人困惑。很高兴它有帮助!
    猜你喜欢
    • 2017-07-11
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    • 2020-07-24
    相关资源
    最近更新 更多