Javascript 如何在2个JSON文件之间插入匹配JSON键的值

Javascript 如何在2个JSON文件之间插入匹配JSON键的值,javascript,json,bash,amazon-web-services,amazon-ec2,Javascript,Json,Bash,Amazon Web Services,Amazon Ec2,我有2个JSON文件: JSON模板 JSON输出(来自awscli) 模板是一个小JSON文件,如下所示: { “DryRun”:没错, “ImageId”:“, “关键字名称”:“, “安全组”:[ "" ], “InstanceType”:“, “监测”:{ “已启用”:false }, “子网”:“, “废除死刑”:对, “PrivateIP地址”:“, “IAMSInstanceProfile”:{ “Arn”:“, “名称”:” }, “EbsOptimized”:正确, “标

我有2个JSON文件:

  • JSON模板
  • JSON输出(来自awscli)
模板是一个小JSON文件,如下所示:

{
“DryRun”:没错,
“ImageId”:“,
“关键字名称”:“,
“安全组”:[
""
],
“InstanceType”:“,
“监测”:{
“已启用”:false
},
“子网”:“,
“废除死刑”:对,
“PrivateIP地址”:“,
“IAMSInstanceProfile”:{
“Arn”:“,
“名称”:”
},
“EbsOptimized”:正确,
“标签规格”:[{
“资源类型”:“,
“标签”:[{
“密钥”:“密钥”,
“值”:”
}]
}]

}
有一种方法可以做到这一点,但它不接受JSON模板作为输入

您必须将其修改为查询。这不是您需要的实际查询,而是让您开始的:

cat temp.json | jq '.Reservations[].Instances[] |  { DryRun, ImageId, KeyName, SecurityGroups, InstanceType, Monitoring }'
其中
temp.json
是我放在文件中的上面的输出。对于常规命令,只需执行类似于aws ec2描述实例的操作| jq…

给我的输出(请记住我查询的受限集)是:


希望这能有所帮助。

此外,我发现这本书还有一些使用
描述实例
输出和
jq
的方法:
{
  "DryRun": null,
  "ImageId": "ami-1234abcd",
  "KeyName": "tempKey",
  "SecurityGroups": [
    {
      "GroupName": "somegroup1",
      "GroupId": "sg-ZZZZZ"
    },
    {
      "GroupName": "somegroup2",
      "GroupId": "sg-YYYYY"
    }
  ],
  "InstanceType": "t2.medium",
  "Monitoring": {
    "State": "disabled"
  }
}