我有一个很大的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