遍历 JSON 并将字符串连接到值上可以使用递归的方式遍历 JSON 对象和数组,并在遍历过程中修改对应的值。以下是一个示例代码:
import json
def concatenate_strings(data, prefix):
if isinstance(data, dict):
for key, value in data.items():
if isinstance(value, (dict, list)):
concatenate_strings(value, prefix + key + '.')
elif isinstance(value, str):
data[key] = prefix + value
elif isinstance(data, list):
for i in range(len(data)):
if isinstance(data[i], (dict, list)):
concatenate_strings(data[i], prefix)
elif isinstance(data[i], str):
data[i] = prefix + data[i]
# 示例 JSON 数据
json_data = {
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York"
},
"skills": [
"programming",
"data analysis"
]
}
# 将前缀字符串连接到值上
concatenate_strings(json_data, 'prefix_')
# 打印修改后的 JSON 数据
print(json.dumps(json_data, indent=4))
运行上述代码,输出结果如下:
{
"name": "prefix_John",
"age": 30,
"address": {
"street": "prefix_123 Main St",
"city": "prefix_New York"
},
"skills": [
"prefix_programming",
"prefix_data analysis"
]
}
在上述代码中,concatenate_strings
函数接受一个 JSON 数据和一个前缀字符串作为参数。它首先检查当前数据是否为字典类型,如果是,则遍历字典的键值对。如果值是字典或列表类型,则递归调用 concatenate_strings
函数,将当前的前缀字符串加到键的前面。如果值是字符串类型,则将前缀字符串连接到值上。对于列表类型的数据,也同样进行遍历和递归处理。最后,打印修改后的 JSON 数据。
这样,就可以遍历 JSON 并将指定的字符串连接到值上。
下一篇:遍历 JSON 查询集合