迭代Python中的JSON列表

时间:2017-09-27 15:40:58

标签: python json

我试图遍历JSON列表以打印出以下所有结果:

return self.__dict__.copy()

我试图通过以下方式迭代它:

"examples": [
  {
    "text": "carry all of the blame"
  },
  {
    "text": "she left all her money to him"
  },
  {
    "text": "we all have different needs"
  },
  {
    "text": "he slept all day"
  },
  {
    "text": "all the people I met"
  },
  {
    "text": "10% of all cars sold"
  }
],

但这只是打印第一个例子的每个字母,与整个例子相反,其次是其他整个例子。

我可以按照自己的意愿迭代这些,还是需要为每个示例创建单独的变量?

2 个答案:

答案 0 :(得分:0)

按照您的代码和示例,看起来您需要的是:

for example in json_data['results'][0]['lexicalEntries'][0]['entries'][0]['senses'][0]['examples']:
    print(example["text"])

在您的代码中,通过执行json_data['results'][0]['lexicalEntries'][0]['entries'][0]['senses'][0]['examples'][iterator]['text'],您只访问iterator项,因此,始终是第一个(iterator = 0),然后迭代“text”的内容构件。

答案 1 :(得分:0)

仅将json数据索引到'examples':

json_example = json_data ['results'] [0] ['lexicalEntries'] [0] ['entries'] [0] ['sense'] [0] ['examples']

然后将'examples'的每个元素视为字典:

for dictionary in json_example:
    for key in dictionary:
        print(dictionary[key])

这将打印出与关​​键字“文字”相关的每个值,如您所愿。