python - 假定有json数据多条记录,如何根据KEY的值返回一条记录?

 曾明铭智瑜淑岳 发布于 2022-10-25 11:00

比如说给一个json数据:

[
  {
    "Name": "A1", 
    "No": "3111", 
    "createDate": "9999/12/31 00:00:00", 
    "lastUpdDate": "9999/12/31 00:00:00"
  }, 
  {
    "Name": "B2", 
    "No": "2222", 
    "createDate": "9999/12/31 00:00:00", 
    "lastUpdDate": "9999/12/31 00:00:00"
  }, 
  {
    "Name": "C3", 
    "No": "1444", 
    "createDate": "9999/12/31 00:00:00", 
    "lastUpdDate": "9999/12/31 00:00:00"
  }, 
  {
    "Name": "C4", 
    "No": "0542", 
    "createDate": "9999/12/31 00:00:00", 
    "lastUpdDate": "9999/12/31 00:00:00"
  }
]

我想要No为"0542"的一条记录:

{
  "Name": "C4", 
  "No": "0542", 
  "createDate": "9999/12/31 00:00:00", 
  "lastUpdDate": "9999/12/31 00:00:00"
}

如果用python3应该怎么实现?
我网上搜索了类似代码
比如 data = list(filter(lambda d: d['No'] == "0542", jsondata))
改来改去,总是报各种类型错误,抓狂了……所以请教下大家,应该怎么写,谢谢!

1 个回答
  • 假設有 json string 如下:

    s = """
    [
      {
        "Name": "A1", 
        "No": "3111", 
        "createDate": "9999/12/31 00:00:00", 
        "lastUpdDate": "9999/12/31 00:00:00"
      }, 
      {
        "Name": "B2", 
        "No": "2222", 
        "createDate": "9999/12/31 00:00:00", 
        "lastUpdDate": "9999/12/31 00:00:00"
      }, 
      {
        "Name": "C3", 
        "No": "1444", 
        "createDate": "9999/12/31 00:00:00", 
        "lastUpdDate": "9999/12/31 00:00:00"
      }, 
      {
        "Name": "C4", 
        "No": "0542", 
        "createDate": "9999/12/31 00:00:00", 
        "lastUpdDate": "9999/12/31 00:00:00"
      }
    ]
    """

    代碼:

    # code for python3
    
    import json
    
    def search(json_str, no):
        return [datum for datum in json.loads(s) if datum['No']==no]
    
    datum = search(s, '0542')
    print(datum)

    結果:

    [{'Name': 'C4', 'No': '0542', 'createDate': '9999/12/31 00:00:00', 'lastUpdDate': '9999/12/31 00:00:00'}]

    我回答過的問題: Python-QA

    2022-10-26 23:23 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有