我想为文件中的每个json对象添加父级。 我的出发点是以下包含两个json项的json文件:
{
"id": {
"S": "cf7ebec368f241ead7ecf818ce9ed098406afa63"
},
"test": {
"N": "5"
},
"added": {
"S": "2017-02-15T17:56:19.958917+00:00"
},
"foo": {
"N": "88"
},
"web": {
"N": "103"
}
}
{
"id": {
"S": "cf7ebec368f241ead7ecf818ce9ed098406afa63"
},
"image_server_id": {
"N": "5"
},
"added": {
"S": "2017-02-15T17:56:19.958917+00:00"
},
"result": {
"N": "88"
},
"data": {
"foo": {
"N": "103",
"S": "test"
}
}
}
使用jq和/或bash我想生成以下json文件:
{
"*StaticString*": [
{
"PutRequest": {
"Item": {
"id": {
"S": "cf7ebec368f241ead7ecf818ce9ed098406afa63"
},
"test": {
"N": "5"
},
"added": {
"S": "2017-02-15T17:56:19.958917+00:00"
},
"foo": {
"N": "88"
},
"web": {
"N": "103"
}
**}
}
},
{
"PutRequest": {
"Item": {
"id": {
"S": "cf7ebec368f241ead7ecf818ce9ed098406afa63"
},
"image_server_id": {
"N": "5"
},
"added": {
"S": "2017-02-15T17:56:19.958917+00:00"
},
"result": {
"N": "88"
},
"data": {
"foo": {
"N": "103",
"S": "test"
}
}
**}
}
}
]
}
总结一下,我想添加
{
"StaticString": [
{
在文件的开头。 然后我需要将每个json项放入父
"PutRequest": {
"Item": {
...
}
}
并从json项中生成一个数组。
我已经知道如何使用生成json项的数组
jq -s . testfile.json
但我不知道如何为每个json项添加父项。
我希望很清楚我想要实现的目标。
感谢您的帮助, 克里斯
答案 0 :(得分:3)
jq -s '{staticstring:[{PutRequest:{Item:.[]}}]}' inputfile.json