2017-08-01 14 views
2

JSONオブジェクトの2つの値をキー/値のペアとして使用してjsonリストを辞書に変換する方法を知りたいと思います。 JSONは次のようになります。Python - JSONオブジェクトをdictに変換する

"test": [ 
       { 
        "name": "default", 
        "range": "100-1000" 
       }, 
       { 
        "name": "bigger", 
        "range": "1000-10000" 
       } 
     ] 

私は基本的に辞書を値としてキーと範囲として名を使用したいです。この場合の辞書はだから{default:100-1000} {bigger: 1000-10000}

それは可能ですか?

+0

文字列を整数に変更したいですか?おそらく、JSON文字列を整数に設定することから始めてください。 – baranskistad

+0

[JSON文字列を辞書以外のリストに変換する]の複製があります(https://stackoverflow.com/questions/19483351/converting-json-string-to-dictionary-not-list) –

+1

あなたの質問では、2つの辞書を定義します出力として? –

答えて

5

まず、JSON文字列をjson.loadsという辞書に読み込むことができます。次は、プロセスにそれを投稿する辞書内包表記を使用することができます。

from json import loads 

{ d['name'] : d['range'] for d in loads(json_string)['test'] } 

私たちは、その後、取得:

>>> { d['name'] : d['range'] for d in loads(json_string)['test'] } 
{'bigger': '1000-10000', 'default': '100-1000'} 

二つのサブ辞書が同じ名前である場合には、最後の1がされます結果に格納されます。

関連する問題