代码一
import json
json_data = '''
{
"data": {
"name": "示例名称",
"url": "http://example.com"
}
}
'''
# 将JSON字符串转换为Python对象
data_dict = json.loads(json_data)
# 提取"data"键下的"name"和"url"字段
data = data_dict["data"]
if 'name' in data and 'url' in data:
output_str = f"{data['name']}\n{data['url']}"
print(output_str)
else:
print("Skipped item due to missing 'name' or 'url'")
这段代码直接从data_dict["data"]
字典中提取“name”和“url”字段,然后检查它们是否存在。如果都存在,则拼接并打印结果;否则,打印一条消息表示跳过了该项目。适用于当前提供的简单字典结构。
代码2
import json
json_data = '''
{
"data": [
[
{
"name": "示例1",
"url": "http://example1.com"
},
{
"name": "示例2",
"url": "http://example2.com"
},
{
"name": "示例3",
"url": "http://example3.com"
}
],
[
{
"name": "示例4",
"url": "http://example4.com"
},
{
"name": "示例5",
"url": "http://example5.com"
}
]
]
}
# 将JSON字符串转换为Python对象
data_dict = json.loads(json_data)
# 提取"data"键下的所有嵌套列表
nested_lists = data_dict["data"]
# 遍历所有嵌套列表及其中的字典,按照要求格式输出
output = []
for nested_list in nested_lists:
for item in nested_list:
if 'name' in item and 'url' in item:
output.append(f"{item['name']}\n{item['url']}")
else:
print(f"Skipped item due to missing 'name' or 'url': {item}")
# 使用换行符连接所有结果
output_str = '\n'.join(output)
print(output_str)
这段代码在遍历字典项时增加了条件判断,仅在字典中同时存在“name”和“url”键时才进行拼接和添加操作。如果缺少任一字段,则打印一条消息并跳过该字典。