首页 > 解决方案 > 如果键包含特定值(月),则加载对象

问题描述

有没有办法只加载一个包含来自 json 的特定键值的对象?

我所做的步骤:

response = requests.get(URL, headers={'token': TOKEN}, verify=False)
meta_json = json.loads(response.content)

meta_json 看起来像这样:

{
      "count": 264428,
      "data": [
        {
          "calculation_date": "2020-04-09T12:33:05.814107",
          "name": "Felix",
          "age": 12
        },
        {
          "calculation_date": "2020-03-09T12:33:05.814107",
          "name": "Max",
          "age": 18
        },
        {
          "calculation_date": "2020-04-09T12:33:15.814207",
          "name": "John",
          "age": 25
        }
    ],
      "links": {
        "first": "random",
        "last": "second"
      }
    }

但我只想看到四月,meta_json 应该是这样的:

{
      "count": 264428,
      "data": [
        {
          "calculation_date": "2020-04-09T12:33:05.814107",
          "name": "Felix",
          "age": 12
        },
        {
          "calculation_date": "2020-04-09T12:33:15.814207",
          "name": "John",
          "age": 25
        }
    ],
      "links": {
        "first": "random",
        "last": "second"
      }
    }

这个怎么做?

标签: pythonjsongetload

解决方案


您可以在加载后过滤结果,如下所示:

meta_json['data']=[i for i in meta_json['data'] if '-04-' in i.get('calculation_date', '')]

推荐阅读