Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果json数组中的值等于另一个值,则返回该值(转换为python)_Python_Json_Dictionary - Fatal编程技术网

如果json数组中的值等于另一个值,则返回该值(转换为python)

如果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","

我希望大家都很好,身体健康! 我有一个小问题:

我有带这些值的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","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也是输出的一部分。