成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python - 假定有json數(shù)據(jù)多條記錄,如何根據(jù)KEY的值返回一條記錄?

瀏覽:150日期:2022-08-22 10:28:37

問(wèn)題描述

比如說(shuō)給一個(gè)json數(shù)據(jù):

[ { '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應(yīng)該怎么實(shí)現(xiàn)?我網(wǎng)上搜索了類(lèi)似代碼比如 data = list(filter(lambda d: d[’No’] == '0542', jsondata))改來(lái)改去,總是報(bào)各種類(lèi)型錯(cuò)誤,抓狂了……所以請(qǐng)教下大家,應(yīng)該怎么寫(xiě),謝謝!

問(wèn)題解答

回答1:

假設(shè)有 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 python3import jsondef search(json_str, no): return [datum for datum in json.loads(s) if datum[’No’]==no]datum = search(s, ’0542’)print(datum)

結(jié)果:

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

我回答過(guò)的問(wèn)題: Python-QA

標(biāo)簽: Python 編程