【问题标题】:Iterate through JSON in python and filter values based on key to get desired result遍历python中的JSON并根据键过滤值以获得所需的结果
【发布时间】:2020-03-31 12:00:02
【问题描述】:

我正在尝试遍历 JSON 并根据特定键 (config_name) 过滤值。试图创建一个字典,但到目前为止我无法让它工作。

    [
{"summary": {"configName": "nightlyCINoOcean", "dateTimeOfFormatting": "2019-12-06 12:20:31", "failedTests": 0, "partialPassedTests": 1, "passedTests": 0, "totalTests": 1}},
{"summary": {"configName": "nightlyCIOcean", "dateTimeOfFormatting": "2019-12-06 12:20:30", "failedTests": 0, "partialPassedTests": 1, "passedTests": 0, "totalTests": 1}}
]

我的意图是检索基于每个 config_name 的值(失败测试、部分通过测试)。

尝试使用下面的代码并对其进行迭代但没有任何成功。

 with open(test_logs) as json_file:
       data = json.load(json_file)

没有很好的python装备,我的第一天

【问题讨论】:

  • 请提供示例输出。
  • 我只会将值保存在单个变量中并传递给不同的方法。所以对于第一行,它将是 nightlyCIOcean , failedtests 编号等保存并传递给另一个方法

标签: python arrays json


【解决方案1】:

这里有一些帮助您入门。


import json

SOURCE_DATA = '''
 [
{"summary": {"configName": "nightlyCINoOcean", "dateTimeOfFormatting": "2019-12-06 12:20:31", "failedTests": 0, "partialPassedTests": 1, "passedTests": 0, "totalTests": 1}},
{"summary": {"configName": "nightlyCIOcean", "dateTimeOfFormatting": "2019-12-06 12:20:30", "failedTests": 0, "partialPassedTests": 1, "passedTests": 0, "totalTests": 1}}
]
'''

my_data = json.loads(SOURCE_DATA)

for config in my_data:
    summary = config['summary']
    print(summary['configName'], summary['failedTests'], summary['passedTests'])

【讨论】:

    【解决方案2】:

    我不确定我是否理解您的问题,但您可以运行以下代码:

    myList= [{"summary": {"configName": "nightlyCINoOcean", "dateTimeOfFormatting": "2019-12-06 12:20:31", "failedTests": 0, "partialPassedTests": 1, "passedTests": 0, "totalTests": 1}},{"summary": {"configName": "nightlyCIOcean", "dateTimeOfFormatting": "2019-12-06 12:20:30", "failedTests": 0, "partialPassedTests": 1, "passedTests": 0, "totalTests": 1}}]
    
    
    
    for a in myList:
        print(a.get("summary").get("configName"))
    

    通过此代码,您可以获得“configName”的值

    【讨论】:

      猜你喜欢
      • 2021-12-07
      • 2013-06-22
      • 1970-01-01
      • 2021-12-22
      • 2022-01-07
      • 2015-02-04
      • 2021-03-08
      • 1970-01-01
      • 2015-04-17
      相关资源
      最近更新 更多