2017-07-10 16 views
-2

私は2つのjsonオブジェクトを辞書として表しています。両方を1つに連結し、最後をjsonにしたいと思います。現時点で 同じキーで2つの辞書(/タプル)をマージ/連結するpython

は私が持っている:

[ 
    { 
    [ 
     { 
      "FS":61440000, 
      "BW":56000000, 
      "Gain":62, 
      "Fc":70000000, 
      "real":[ 1,2,3,], 
      "imag":[1,2,3,], 
     }, 
     { 
      "FS":61440000, 
      "BW":56000000, 
      "N":8192, 
      "Gain":62, 
      "Fc":80000000, 
      "real":[ 1,2,3,], 
      "imag":[1,2,3,], 
     } 
    ], 
    "ts":1231234165234, 
    "scale":[10000,-45], 
    "N":8192, 
    }, 

] 

方法obj1 + obj2参加し、キーを維持し、それらを更新しないために:

obj1 = { 
    "FS":11440000, 
    "BW":76000000, 
    "Gain":62, 
    "Fc":70000000, 
    "real":[ 4,2,3,], 
    "imag":[1,1,3,], 
} 

obj2 = { 
    "FS":61440000, 
    "BW":56000000, 
    "Gain":62, 
    "Fc":80000000, 
    "real":[ 1,2,3,], 
    "imag":[1,2,3,], 
} 

は私がしたいですか?作成しようとしている最終出力を見ることができるように、それらのすべてが必要です。

obj1obj2を1つに連結した後、さらに3つのキーを追加する必要があります。

私はpython 3.6を使用しています。

+0

を介してデータにアクセスすることができ辞書を与えますか? –

+0

'' ts''、 '' scale''、 '' N "'はどこから来たのですか?あなたはここで辞書を連結していない、あなたはリストに入れているだけです。 –

+0

私はマージを試みましたが、データ=((obj1)、(obj2))が唯一働いていましたが、新しいタプルに新しいキー値を追加できません。 – ricardol

答えて

1

予期しない出力がフォーマットされているため、決して作成できません。 (各値にはのキーが必要です(たとえ値がリストであっても)。

foo = {"foo": "value"} 
bar = {"bar": "value"} 
data = {"ts": "...", "scale": [10000, -45], "N": 8192, "data": [foo, bar]} 

でしょうが、あなたは、あなたがこれまでに試してみました何data['data']

+0

私は "データ"を失うことはありません。私はfoo、bar、ts、scale、Nが好きです。 – ricardol

+1

素晴らしいですが、できません。少なくともあなたが期待している**正しい出力**を提供してください。 – Arount

+0

@ricardol確かに、それは不可能です。 dictに挿入するときは、キーは必須です。 –