使用跟踪字符串修改嵌套的JSON位置可以通过以下步骤实现:
"foo.bar[0].baz"
,则跟踪字符串为"foo.bar.0.baz"
。obj['foo']['bar'][0]['baz'] = newValue
来修改嵌套位置的值。以下是一个示例代码(使用Python)来演示如何使用跟踪字符串修改嵌套的JSON位置:
import json
# 原始的JSON字符串
json_str = '{"foo": {"bar": [{"baz": "old_value"}]}}'
# 解析JSON字符串
json_obj = json.loads(json_str)
# 跟踪字符串
track_str = "foo.bar.0.baz"
# 修改嵌套位置
new_value = "new_value"
keys = track_str.split('.')
current_obj = json_obj
for key in keys[:-1]:
if key.isdigit():
current_obj = current_obj[int(key)]
else:
current_obj = current_obj[key]
current_obj[keys[-1]] = new_value
# 序列化为JSON字符串
modified_json_str = json.dumps(json_obj)
print(modified_json_str)
在这个示例中,我们将原始的JSON字符串解析为对象,然后使用跟踪字符串"foo.bar.0.baz"
指定要修改的嵌套位置。最后,我们将该位置的值从"old_value"
修改为"new_value"
,并将修改后的JSON对象重新序列化为JSON字符串。
领取专属 10元无门槛券
手把手带您无忧上云