2017-11-17 5 views
1

配列にいくつかのキーと値のペアを持つJSONファイルがあります。私はVAR1は、問題は、私は私のPythonコードを実行すると、それが外に新しいキーと値のペアを追加することであるPYTHONを使用してJSON配列の特定のキーを更新します

という変数に格納された値とキーIDの値を置き換える/更新する必要があります代わりに置き換えるの内部配列:

PYTHON SCRIPT

import json 
import sys 
var1=abcdefghi 

with open('C:\\Projects\\scripts\\input.json', 'r+') as f: 
    json_data = json.load(f) 
    json_data['id'] = var1 
    f.seek(0) 
    f.write(json.dumps(json_data)) 
    f.truncate() 

入力JSON

{ 
    "channel": "AT", 
    "username": "Maintenance", 
    "attachments": [ 
     { 
     "fallback":"[Urgent]:", 
     "pretext":"[Urgent]:", 
     "color":"#D04000", 
     "fields":[ 
      { 
       "title":"SERVERS:", 
       "id":"popeye", 
       "short":false 
      } 
     ] 
     } 
    ] 
} 

OUTPUT:以下

{ 
    "username": "Maintenance", 
    "attachments": [ 
     { 
      "color": "#D04000", 
      "pretext": "[Urgent]:", 
      "fallback": "[Urgent]:", 
      "fields": [ 
       { 
        "short": false, 
        "id": "popeye", 
        "title": "SERVERS:" 
       } 
      ] 
     } 
    ], 
    "channel": "AT", 
    "id": "abcdefghi" 
} 

答えて

2

は、フィールド内のIDを更新します:

json_data['attachments'][0]['fields'][0]['id'] = var1 
+0

は非常にAkashさん、ありがとうございました。これは完全にうまくいった –

+0

@AswaryTiwariようこそ、あなたはhttps://stackoverflow.com/help/someone-answersをチェックすることができます –