如果json数组中的值等于另一个值,则返回该值(转换为python)
我希望大家都很好,身体健康! 我有一个小问题: 我有带这些值的json字符串如果json数组中的值等于另一个值,则返回该值(转换为python),python,json,dictionary,Python,Json,Dictionary,我希望大家都很好,身体健康! 我有一个小问题: 我有带这些值的json字符串 {"ps":"Era 7"} {"programName":"Era 1","programId":"1001"} {"programName":"Era 2","programId":"1002"} {"programName":"Era 3","programId":"1003"} {"programName":"Era 4","programId":"1004"} {"programName":"Era 5","
{"ps":"Era 7"}
{"programName":"Era 1","programId":"1001"}
{"programName":"Era 2","programId":"1002"}
{"programName":"Era 3","programId":"1003"}
{"programName":"Era 4","programId":"1004"}
{"programName":"Era 5","programId":"1005"}
{"programName":"Era 6","programId":"1006"}
{"programName":"Era 7","programId":"1007"}
我需要实现的是,当“programName”等于“ps”值时,返回“programName”值对应的“programId”值。
例如,如果“ps”是Era7,那么我需要“programId”值“1007”,如果是“era2”,则需要“1002”,以此类推!
我该怎么做?
提前谢谢 假设您已经从JSON中提取了这些字典,并将它们存储在列表中 您可以简单地遍历所有字典,将每个字典的“programName”值与“ps”值进行比较,然后返回匹配的“programId”
target = {'ps': 'Era 7'}
dicts = [
{"programName":"Era 1","programId":"1001"},
{"programName":"Era 2","programId":"1002"},
{"programName":"Era 3","programId":"1003"},
{"programName":"Era 4","programId":"1004"},
{"programName":"Era 5","programId":"1005"},
{"programName":"Era 6","programId":"1006"},
{"programName":"Era 7","programId":"1007"}
]
for d in dicts:
if d['programName'] == target['ps']:
return d['programId']
你好请添加您正在用作标记的语言。您好,这是json到python的数据转换器。这不是字典;这是八个独立的字典,其中只有一个以后可以访问,因为您没有保留对其余任何字典的引用。好的,这已经编辑好了。我想根据条件提取某些值的是json数据。这可能吗?非常感谢。此输出已通过loads转换器转换为python字典。整个输出称为rds=json.loads(data.decode(“utf8”,“ignore”))。所以ps也是输出的一部分。