2017-11-01 21 views
1

この質問はpreviousに関連しています。jqを使用して既存のJSON配列に新しい配列要素を追加するsendgrid API

私の場合、個別の要素を追加するだけです。私は以下のinput.jsonを持っています。

{ 
    "content": [ 
    ], 
    "from": { 
    "email": "[email protected]", 
    "name": "Some Name" 
    }, 
    "reply_to": { 
    "email": "[email protected]", 
    "name": "Some Name" 
    }, 
    "personalizations": [{ 
    "to": [{ 
     "email": "[email protected]" 
     }, 
     { 
     "email": "[email protected]" 
     }] 
    }] 
} 

subjectとtemplate_idを追加して、output.jsonが以下のようになるようにしたいと思います。

{ 
    "content": [ 
    ], 
    "from": { 
    "email": "[email protected]", 
    "name": "Some Name" 
    }, 
    "reply_to": { 
    "email": "[email protected]", 
    "name": "Some Name" 
    }, 
    "personalizations": [{ 
    "to": [{ 
     "email": "[email protected]" 
     }, 
     { 
     "email": "[email protected]" 
     }], 
    "subject": "Some subject" 
    }], 
    "template_id": "someID" 
} 

bashでjq(input.jsonとoutput.jsonの構文も含む)を使ってどうすればいいですか?

jq '.template_id="someID" | .personalizations[0].subject="Some subject"' input.json 

出力:単純な代入して

答えて

関連する問題