jsonやdictオブジェクトとして解析できる文字列があります。私の文字列変数は、次のようになります。重複キーで文字列からdict/jsonを作成するPython
my_string_variable = "{
"a":1,
"b":{
"b1":1,
"b2":2
},
"b": {
"b1":3,
"b2":2,
"b4":8
}
}"
私はjson.loads(my_string_variable)
を行うと、私は辞書が、辞書に重複キーを含めることができないため、通常で保たれているキー「B」、の唯一の第2の値を持っています。私はすでに同様の質問を探しましたが、それらはすべて、入力としてdictsまたはリストに対処し、その後、処理するためにdefaultdictsを作成している
result = {
'a':1,
'b': [{'b1':1,'b2':2}, { 'b1':3, 'b2':2,'b4':8 } ]
}
:何、このようなdefaultdictのいくつかの並べ替えを持ってするための最良の方法だろう
重複するキー私は、文字列変数を持っていると私はこれを達成するための簡単な方法があるかどうかを知りたいでしょう:)
私の場合は
では、次のような
このスレッドを見てください:http://stackoverflow.com/questions/5946236/how-to-merge-multiple-dicts-with-same-key .itあなたが行くのを手伝ってください –
おそらくありません。重複したキーを持つだけではマッピングに意味がない。キーに再び遭遇すると、単一値から複数値に切り替えるカスタムパーサーが必要になります。いくつかの努力を払って[JSONデコーダ](https://docs.python.org/3/library/json.html#encoders-and-decoders)を修正することができます。 * all *キーがシーケンス値を持つ場合(長さがちょうど1であっても)、物事はもっと簡単になることに注意してください。 – MisterMiyagi
より多くの欺瞞のように見える: 'object_pairs_hook':http://stackoverflow.com/questions/14902299/json-loads-allows-duplicate-keys-in-a-dictionary-overwriting-the-first-value –