Python中两个json之间的解析和交互

Python中两个json之间的解析和交互,python,json,Python,Json,我需要你的帮助完成以下任务。 我有以下json对象作为输入文件 {"source": { "datatype": "panorama", "project": "Test project", "zoomlevel": 19, "imageids": [14295321, 14295325, 14295332, 14295303, 14295301] }} 然后我有第二个JSON对象列表 { "ProjectI

我需要你的帮助完成以下任务。 我有以下json对象作为输入文件

{"source": {        
    "datatype": "panorama",     
    "project": "Test project",
    "zoomlevel": 19,        
    "imageids": [14295321, 14295325, 14295332, 14295303, 14295301]      
}}
然后我有第二个JSON对象列表

{
"ProjectId": "0dd1fc70-dc0d-433e-b301-00988c483240",
"SuperProjectId": 1,
"ProjectedSRID": 0,
"Name": " Test project ",
"Owner": "<Owner>",
"MetadataStandard": 2,
"Description": null  },
{
"ProjectId": "ec4a0fb9-1b8e-41a9-9fa5-01909127c261",
"SuperProjectId": 1,
"ProjectedSRID": 0,
"Name": " Test project 2",
"Owner": null,
"MetadataStandard": 2,
"Description": null},
{
"ProjectId": "cc651d6a-be26-4b5a-8938-039573a361b5",
"SuperProjectId": 1,
"ProjectedSRID": 0,
"Name": " Test project 3",
"Owner": null,
"MetadataStandard": 2,
"Description": null
}
]
我需要循环第二个JSON并从对象中获取“ProjectId”值,其中“Name”值等于第一个JSON中的“project”值。我不知道怎么做。你能帮我吗?

“数据类型”:“全景”,
    "datatype": "panorama",     
    "project": "Test project",
    "zoomlevel": 19,        
    "imageids": [14295321, 14295325, 14295332, 14295303, 14295301]      
}}'''

json_array='''[{
"ProjectId": "0dd1fc70-dc0d-433e-b301-00988c483240",
"SuperProjectId": 1,
"ProjectedSRID": 0,
"Name": " Test project ",
"Owner": "<Owner>",
"MetadataStandard": 2,
"Description": null  },
{
"ProjectId": "ec4a0fb9-1b8e-41a9-9fa5-01909127c261",
"SuperProjectId": 1,
"ProjectedSRID": 0,
"Name": " Test project 2",
"Owner": null,
"MetadataStandard": 2,
"Description": null},
{
"ProjectId": "cc651d6a-be26-4b5a-8938-039573a361b5",
"SuperProjectId": 1,
"ProjectedSRID": 0,
"Name": " Test project 3",
"Owner": null,
"MetadataStandard": 2,
"Description": null
}]
'''
from json import loads
input = loads(json)
project_name = input['source']['project']
project_name = project_name.strip()
array=loads(json_array)


for item in array:
    if item['Name'].strip() == project_name:
        print(item['ProjectId'])```

“项目”:“测试项目”, “zoomlevel”:19, “图像ID”:[14295321、14295325、14295332、14295303、14295301] }}''' json_数组=“”[{ “ProjectId:“0dd1fc70-dc0d-433e-b301-00988c483240”, “超级项目”:1, “ProjectedSRID”:0, “名称”:“测试项目”, “拥有人”:“, “元数据标准”:2, “Description”:null}, { “项目D”:“ec4a0fb9-1b8e-41a9-9fa5-01909127c261”, “超级项目”:1, “ProjectedSRID”:0, “名称”:“测试项目2”, “所有者”:空, “元数据标准”:2, “Description”:null}, { “ProjectId”:“cc651d6a-be26-4b5a-8938-039573a361b5”, “超级项目”:1, “ProjectedSRID”:0, “名称”:“测试项目3”, “所有者”:空, “元数据标准”:2, “说明”:空 }] ''' 从json导入加载 输入=加载(json) 项目名称=输入['source']['project'] 项目名称=项目名称.strip() 数组=加载(json_数组) 对于数组中的项: 如果项['Name'].strip()==项目名称: 打印(项目['ProjectId'])```
    "datatype": "panorama",     
    "project": "Test project",
    "zoomlevel": 19,        
    "imageids": [14295321, 14295325, 14295332, 14295303, 14295301]      
}}'''

json_array='''[{
"ProjectId": "0dd1fc70-dc0d-433e-b301-00988c483240",
"SuperProjectId": 1,
"ProjectedSRID": 0,
"Name": " Test project ",
"Owner": "<Owner>",
"MetadataStandard": 2,
"Description": null  },
{
"ProjectId": "ec4a0fb9-1b8e-41a9-9fa5-01909127c261",
"SuperProjectId": 1,
"ProjectedSRID": 0,
"Name": " Test project 2",
"Owner": null,
"MetadataStandard": 2,
"Description": null},
{
"ProjectId": "cc651d6a-be26-4b5a-8938-039573a361b5",
"SuperProjectId": 1,
"ProjectedSRID": 0,
"Name": " Test project 3",
"Owner": null,
"MetadataStandard": 2,
"Description": null
}]
'''
from json import loads
input = loads(json)
project_name = input['source']['project']
project_name = project_name.strip()
array=loads(json_array)


for item in array:
    if item['Name'].strip() == project_name:
        print(item['ProjectId'])```