如何选择带空格的json响应项

时间:2018-06-06 20:24:01

标签: javascript

我是Javascript的新手,所以这可能是一个天真的问题。我跟随服务器的json响应。我想选择Alpha,Bravo,Charlie和Delta的值。

data = {"Agent Contribution (Incl Rev)":{"Alpha":33245.0,"Bravo":26618.0,"Charlie":22376.0,"Delta":15831.0}}

我可以通过data["Agent Contribution (Incl Rev)"]在控制台中选择值。但是,当我通过console.log(data["Agent Contribution (Incl Rev)"])在JavaScript(代码编辑器)中尝试此操作时,它会返回null

3 个答案:

答案 0 :(得分:0)

以这种方式尝试:



 for game in games:
     # I'm just going to construct a single tuple for the game info:
     game_attrs = (game.name, game.details, game.more_details)

     score_attrs_list = game.score_set.values_list('score', 'date_played')  # (No need for .all() here, .values_list() will handle the query)
     writer.writerow(game_attrs)
     for score_attrs in score_attrs_list:
           writer.writerow(score_attrs)




答案 1 :(得分:0)

如果我理解了这个问题,那么您正在寻找Alpha,Bravo的价值观。如果是的话,试试这个

var data = {"Agent Contribution (Incl Rev)":{"Alpha":33245.0,"Bravo":26618.0,"Charlie":22376.0,"Delta":15831.0}}

var selectedVal = Object.keys(data).map(function (prop) {
   return Object.keys(data[prop]).map(function(val){
      return data[prop][val]
   })

})

console.log(selectedVal,"selectedVal")

答案 2 :(得分:-2)

有很多方法可以访问对象属性,其中一种方法如下所示:

首先使用Object.keys提取密钥,它会返回给定对象的密钥数组。然后迭代遍历给定对象的key的每个数组项,并使用该键的对象属性进行访问。这样的解决方案可以避免在访问密钥命名时出现所有可能的拼写错误。

它不是涵盖所有边缘情况的全面解决方案,但是具有空格的键,这些是覆盖所有基础的非常好的技术。这里要注意的一件事是密钥访问不是按排序顺序。

var data = {
  "Agent Contribution (Incl Rev)": {
    "Alpha": 33245.0,
    "Bravo": 26618.0,
    "Charlie": 22376.0,
    "Delta": 15831.0
  }
}

Object.keys(data).map(obj => {
  console.log(data[obj]);
  console.log(data[obj].Alpha);
  console.log(data[obj].Bravo);
});