web-dev-qa-db-ja.com

python jsonオブジェクトの配列に追加

私はPythonで次のjsonオブジェクトを持っています:

jsonobj = {
          "a": {
              "b": {
                      "c": var1,
                      "d": var2,
                      "e": [],
                   },

                },
            }

そして、キーと値の要素を「e」に追加したいのですが、その構文がわかりません。私は次のものを追加しようとしましたが、括弧と引用符で正しく表示されません:

jsobj["a"]["b"]["e"].append("'f':" + var3)

代わりに、「e」を次のようにします。

"e":[
       {"f":var3, "g":var4, "h":var5},
       {"f":var6, "g":var7, "h":var8},
    ]

このjson配列に追加する正しい方法を知っている人はいますか?感謝します。

22
swoosh
jsobj["a"]["b"]["e"].append({"f":var3, "g":var4, "h":var5})
jsobj["a"]["b"]["e"].append({"f":var6, "g":var7, "h":var8})
28
DrTyrsa

辞書を文字列ではなく辞書オブジェクトとして追加するだけです:

jsobj["a"]["b"]["e"].append(dict(f=var3))

完全なソース:

var1 = 11
var2 = 32
jsonobj = {"a":{"b":{"c": var1,
                     "d": var2,
                     "e": [],
                    },
               },
           }
var3 = 444
jsonobj["a"]["b"]["e"].append(dict(f=var3))

jsonobjには以下が含まれます。

{'a': {'b': {'c': 11, 'd': 32, 'e': [{'f': 444}]}}}
8
PhE
jsonobj["a"]["b"]["e"] += [{'f': var3, 'g' : var4, 'h': var5}, 
                           {'f': var6, 'g' : var7, 'h': var8}]
2
katzenversteher