我有一个json文件,里面有一堆文件路径。我想编写一个脚本,用路径指向的文件内容替换所有这些文件路径。
例如,有一个文件:
{
"a": "stuff",
"b: {
"body": "/stack/over/flow/file.json"
},
"c": {
"b": "stuff",
"body": "here is some plain text"
}
}
然后文件/stack/over/flow/file.json
为:
{
"another": "json"
}
并且输出文件将用该文件的内容替换/stack/over/flow/file.json
。此外,因为它是一个json文件,我需要为它做适当的转义。
所以我真的需要两件事:
用文件内容替换文件路径。我认为正则表达式在这里最有用。
将正确的转义添加到json,以便它可以作为另一个json的主体发送。我正在考虑使用pythons json.dumps。
如果有更好的方法,或者您有任何其他建议,请告诉我。
答案 0 :(得分:0)
您应该阅读json文件,解析它(json.load()
),并接收结构(字典,列表,字符串或数字)。这个结构需要树遍历(我为此提出了一个递归函数),并且对于每个找到的叶子,它类似于到另一个文件的链接,递归地执行相同的操作,并用计算的内容替换链接。
并祈祷你没有循环依赖! ; - ))