我有一个JSON文件,结构如下:
{
"106" : {
"id54011" : [
{
"partno1" : "16690617"
},
{
"partno2" : "5899180"
}
],
"parts" : [
"0899180",
"16920617"
],
"id5632" : [
{
"partno1" : "090699180"
}
]
},
"560" : {
"id9452" : [
{
"partno2" : "1569855"
}
],
"parts" : [
"03653624",
"15899855"
],
"id578" : [
{
"partno3" : "0366393624"
},
{
"partno4" : "0363213624"
}
]
}
}
我需要使用此方法将此JSON拆分为多个文件:
每个JSON文件都包含一个对象。使用上面的示例文件,我最终会得到000106.json
和000560.json
。 (所有名称,必须有6位数字,因此必须添加零。)
我试过在python和jq中使用迭代分组器,但是到目前为止还没有运气。
预期产量:
JSON文件1,名为000106.json
:
{
"106" : {
"id54011" : [
{
"partno1" : "16690617"
},
{
"partno2" : "5899180"
}
],
"parts" : [
"0899180",
"16920617"
],
"id5632" : [
{
"partno1" : "090699180"
}
]
}
}
JSON文件2,名为000560.json
:
{
"560" : {
"id9452" : [
{
"partno2" : "1569855"
}
],
"parts" : [
"03653624",
"15899855"
],
"id578" : [
{
"partno3" : "0366393624"
},
{
"partno4" : "0363213624"
}
]
}
}
答案 0 :(得分:0)
由于这个问题同时包含jq和awk标签,我将重新使用jq和awk,如下所述:Split a JSON file into separate files
您可以轻松地在jq或awk中填充键名。