json - 将 JSON 文件拆分为单独的文件

标签 json file split jq

我有一个大型 JSON 文件,它是一个对象对象,我想在对象键之后将其拆分为单独的文件名。是否可以使用 jq 或任何其他现成工具来实现这一点?

原始 JSON 格式如下
{ "item1": {...}, "item2": {...}, ...}
鉴于此输入,我想生成文件 item1.json、item2.json 等。

最佳答案

这应该给你一个开始:

for f in `cat input.json | jq -r 'keys[]'` ; do
  cat input.json | jq ".$f" > $f.json
done

或者当你坚持像一些人似乎更喜欢的更害羞的语法时:
for f in $(jq -r 'keys[]') ; do
  jq ".[\"$f\"]" < input.json > "$f.json"
done < input.json

关于json - 将 JSON 文件拆分为单独的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28744361/

相关文章:

wcf - 如何将字节数组从 Silverlight 保存到文件

c - 如何从 C 文本文件中读取数字 block

java - 使用括号拆分

java - 使用 Gson 将时间从 UTC 转换为其他时区失败

python - 将多个 json 文件中的选择字段保存到新的 json

file - 如何在VIM中用当前文件名替换文本?

javascript - 使用 while 循环将整数拆分为数字,然后将数字相乘

java - 解析一行数据: split vs regex

java - 在 Java 中转义 JSON 字符串

python - 从 PeeWee 查询中获取完整结果(用于转换为 JSON)