質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1076閲覧

リストを含む辞書型の操作

aki1201

総合スコア15

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2017/05/13 07:13

pythonで複数のjsonを一つにまとめようと思っています。そこで

json

1json1 = { "name": "Mike", 2 "class": [] 3 } 4json2 = { "name": "Mike", 5 "main": "Math", 6 "sub" : "Calculus" 7 } 8json3 = { "name": "Mike", 9 "main" : "Science", 10 "sub" : "Network science" 11 }

を最終的に

json

1json4 = { "name": "Mike", 2 "class": [ 3 { "main": "Math", 4 "sub" : "Calculus" 5 }, 6 { "main": "Science", 7 "sub" : "Network science" 8 } 9 ] 10 }

というふうにしたいのですが辞書内のリストを用いたappendの方法がわかりません。ご教授よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tell_k

2017/05/13 09:04

具体的にpythonでどういうコードを書いたのか、どの変がうまくいかなかったのか書くと回答がつきやすいと思います。
aki1201

2017/05/13 10:36

ありがとうございます、次からそのようにいたします。
guest

回答1

0

ベストアンサー

どうゆうルールでマージするのかイマイチ良くわかっていませんがこんな感じでしょうか。json1 〜 json3 は既にpython上で読み込んで辞書にできているという前提で書いています。

python

1import json 2 3json1 = { 4 'name': 'Mike', 5 'class': [] 6} 7json2 = { 8 'name': 'Mike', 9 'main': 'Math', 10 'sub': 'Calculus' 11} 12json3 = { 13 'name': 'Mike', 14 'main': 'Science', 15 'sub': 'Network science' 16} 17 18for j in (json2, json3): 19 if j['name'] == json1['name']: 20 del j['name'] 21 json1['class'].append(j) 22 23print(json.dumps(json1, indent=2))

結果

JSON

1{ 2 "class": [ 3 { 4 "main": "Math", 5 "sub": "Calculus" 6 }, 7 { 8 "main": "Science", 9 "sub": "Network science" 10 } 11 ], 12 "name": "Mike" 13}

投稿2017/05/13 09:11

tell_k

総合スコア2120

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aki1201

2017/05/13 10:37

とても簡潔なコードでわかりやすかったです。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問