2016-10-21 24 views
-1

でのキーに複数の値を作成します。私は、好ましくは、標準jsonライブラリを使用したいと思いますが、私は使用してのオープンだ私はこのような形式を持っているJSONファイルを作成したいJSON

{ 
    “cars”: { 
     “model”: “Volkswagon X5”, 
     “options”: [{ 
      “color”: “red”, 
      “features”: [“automatic”, “4-wheel-drive”] 
     }, { 
      “color”: “blue”, 
      “features”: [“automatic”, “2-wheel-drive”] 
     }] 
    } 
} 

を他のライブラリ。私はPython 2.7.9を使用しています。

私は、ループ内でのキー'options'の値(色&機能)を取得し、私はdictの私は、キー'options'用辞書に別の値が含まれるようにループを通過するたびに更新したいと思います。

私はこの1つのような質問をたくさん見ましたが、ほとんどが使用することをお勧め:

「辞書」オブジェクトが属性 appendを持っていないため、動作しません

my_dict["cars"]["options"].append(...)

を。

はまた、

my_dict["cars"]["options"]={'color':'green', features:["X","Y"]}又はupdate()

を使用するキー'options'の値ではなく、値を追加するに置き換わります。

+0

、正確には、あなたの質問は何ですか、これを試すことができ

? –

+0

通常の 'dict'の代わりに[' collections.defaultdict(list) '](https://docs.python.org/2/library/collections.html#defaultdict-examples)を使用してください。 – martineau

答えて

0

appendを使用すると問題は、my_dict["cars"]["options"]の値はリストではありません。あなたにも

my_dict["cars"].update({ 
'options': my_dict.get("cars").get("options") + [{'color':'green', features:["X","Y"]} ] 
}) 
+0

迅速な対応をありがとう。 – Pranav

+0

入力が速過ぎると、 "TypeError:+: 'dict'と 'list'に対してサポートされていないオペランドタイプが表示されています。 – Pranav

+0

@Pranav私が言ったように、 'my_dict [" cars "] [" options "]'はリストではないためです。 – levi

関連する問題