2016-07-21 3 views
0

Pythonを使用してネストされたJSONファイルを更新(CRUD)する必要があります。エンティティを更新/削除/作成するためにpython関数を呼び出してjsonファイルに書き戻すには。PythonでネストされたJSONを変更する方法

ここにはsample fileがあります。

私はthe remapライブラリを見ていますが、これが動作するかどうかはわかりません。

{ 
    "groups": [ 
    { 
     "name": "group1", 
     "properties": [ 
     { 
      "name": "Test-Key-String", 
      "value": { 
      "type": "String", 
      "encoding": "utf-8", 
      "data": "value1" 
      } 
     }, 
     { 
      "name": "Test-Key-Integer", 
      "value": { 
      "type": "Integer", 
      "data": 1000 
      } 
     } 
     ], 
     "groups": [ 
     { 
      "name": "group-child", 
      "properties": [ 
      { 
       "name": "Test-Key-String", 
       "value": { 
       "type": "String", 
       "encoding": "utf-8", 
       "data": "value1" 
       } 
      }, 
      { 
       "name": "Test-Key-Integer", 
       "value": { 
       "type": "Integer", 
       "data": 1000 
       } 
      } 
      ] 
     } 
     ] 
    }, 
    { 
     "name": "group2", 
     "properties": [ 
     { 
      "name": "Test-Key2-String", 
      "value": { 
      "type": "String", 
      "encoding": "utf-8", 
      "data": "value2" 
      } 
     } 
     ] 
    } 
    ] 
} 
+0

情報が不足しています。あなたは何を持っているのですか? Fhaab氏のように、既存のjsonモジュールでJSONをPython辞書にロードすることができます。あなたは、適切と思うように辞書を操作することができます。なぜあなたは追加の図書館が必要なような気がしますか? –

答えて

1

私はあなたの質問に何か不足しているように感じます。いずれにしても、私が理解していることは、jsonファイルを読み込み、Pythonオブジェクトとしてデータを編集し、更新されたデータで書き戻したいということです。

import json 

f = open("data.json") 
raw_data = f.read() 
f.close() 

data = json.loads(raw_data) 

したいしかし、あなたが操作することができます(あなたが与えてくれた形式与えられた)辞書を作成します。

はJSONファイルをお読みください。あなたがそれを書いていると仮定します:

json_data = json.dumps(data) 

f = open("data.json","w") 
f.write(json_data) 
f.close() 
+0

読み取り/書き込みは問題ありません。私の挑戦は、キー/値のペアを検索し、それを新しい値で更新することです。それが私のやり方を知らないものです。 – Stryker

+0

さて、キーと値のペアを辞書で検索する方法とは全く別の質問をする必要があります。明確にするには、key = search_keyとvalue = search_valueのどこを検索していますか?または、search_key =なんらかの値を探していますか?検索が「名前」で、データの中にそれらのすべてが含まれているとどうなりますか?上記のデータを与え、「これは私の辞書です」と言って、あなたがプログラマチックに達成したいことを正確に言う。 – Fhaab

+0

@Fhaabと私の問題をよりよく理解できるように助けてくださったありがとうございました。 Jsonファイルには、ユニークなグループ名があります。 group1、group2と同様です。各ユニークグループには、名前と値を含むプロパティがあります。 group name = group1、name = "Test-Key-Integer"とdata = 1000のkey/valueペアを検索し、それを2000などに更新する必要があります。グループ名、プロパティ名、データ値の組み合わせは一意です。お役に立てれば。私はそれをもっと明確にするために質問を修正すべきですか? – Stryker

関連する問題