2017-04-24 24 views
1

私はPythonでDictionaryを使用してjsonオブジェクトを作成しようとしています。私の知る限り、キーパーツはユニークである必要がありますが、私のケースでは配列には同じキーを持つ複数の項目がありますので、Dictionaryのように見えるのでここではうまくいきません。ここで私のオプションを理解しようとしていますか?最後に、このjsonオブジェクトをサーバー上のjsonファイルに保存します。pythonで同じキーを持つ辞書

data = {} 
data['key1'] = hostname 

for line in pipe.stdout: 
    parts = line.split() # split line into parts 
    if len(parts) > 1: # if at least 2 parts/columns 
     data['package'] = { 'name': parts[0], 'installed': parts[1], 'available': parts[2]} 

print(json.dumps(data, indent=4)) 

期待JSON出力あなたが出力としてたいものを

{ 

"key1": "xyz-abc-m001", 
"package": [ 
    { "name":"abc", "installed":"1:1", "available":"1:1.2." }, 
    { "name":"xyz", "installed":"2.02", "available":"2.02" }, 
    { "name":"zyc", "installed":"1.17.1", "available":"1.17.1" } 

] 

} 
+0

?リストを含む辞書を作成することができます。 –

+1

これは、dictごとに固有のキーを持つ複数の辞書です。 – Afaq

+0

私の配列がキー:値のペアの形式になっているので、私はリストとして使うことはできないと思いますか?私が期待している出力は私の質問で述べたjsonです。 –

答えて

1
data = {} 
data['key1'] = hostname 
data['package'] = [] 

for line in pipe.stdout: 
    parts = line.split() # split line into parts 
    if len(parts) > 1: # if at least 2 parts/columns 
     data['package'].append({ 'name': parts[0], 'installed': parts[1], 'available': parts[2]}) 
関連する問題