2016-12-01 9 views
-1

У меня есть три jsons:Объединение нескольких jsons в один JSON питона

a = {'name':'Tyler', 'd1': [[1,1],[2,2],[3,3]], 'd2': [[2,2],[4,4],[6,6]]} 
b = {'name':'Matt', 'd1': [[3,3],[4,4],[5,5]], 'd2': [[6,6],[8,8],[10,10]]} 
c = {'name':'Sarah', 'd1': [[2,1],[4,2],[6,3]], 'd2': [[4,2],[8,4],[12,6]]} 

Я пытаюсь сочетать, b, c в один JSON таким образом, что они имеют следующий формат

d = [{'name':'Tyler', 'd1': [[1,1],[2,2],[3,3]], 'd2': [[2,2],[4,4],[6,6]]},{'name':'Matt', 'd1': [[3,3],[4,4],[5,5]], 'd2': [[6,6],[8,8],[10,10]]},{'name':'Sarah', 'd1': [[2,1],[4,2],[6,3]], 'd2': [[4,2],[8,4],[12,6]]}] 

Этот json d будет передан в колбу, чтобы я мог использовать его в диаграмме d3.

Я попытался создать список d = [a, b, c], а затем разрешить e = json.dumps (d), но это не сработает. Я также попытался создать пустой словарь и добавить a, b, c, а затем сбросить его в json, но это не сработает. Есть ли хорошие реалии для этого? Благодаря

+0

Что вопрос с 'json.dumps ([а, Ь, с])' ? – niemmi

+0

Так что это работает, но это дает мне ["{\" name \ ": а затем такие данные]. Я думаю, что это так, потому что я использую json.dumps раньше. Я знаю, что делать сейчас, спасибо! – hellowrld

+0

Да, использование 'dumps' несколько раз может привести к этому. Если у вас есть дополнительные проблемы, отредактируйте вопрос и опубликуйте точный код, который дает проблемы, иначе люди, отвечающие, просто делают догадки. – niemmi

ответ

0

Просто используйте json.dumps со списком:

import json 

a = {'name':'Tyler', 'd1': [[1,1],[2,2],[3,3]], 'd2': [[2,2],[4,4],[6,6]]} 
b = {'name':'Matt', 'd1': [[3,3],[4,4],[5,5]], 'd2': [[6,6],[8,8],[10,10]]} 
c = {'name':'Sarah', 'd1': [[2,1],[4,2],[6,3]], 'd2': [[4,2],[8,4],[12,6]]} 

print(json.dumps([a, b, c])) 

выход, отформатированный для удобства чтения:

[{"d2": [[2, 2], [4, 4], [6, 6]], "d1": [[1, 1], [2, 2], [3, 3]], "name": "Tyler"}, 
{"d2": [[6, 6], [8, 8], [10, 10]], "d1": [[3, 3], [4, 4], [5, 5]], "name": "Matt"}, 
{"d2": [[4, 2], [8, 4], [12, 6]], "d1": [[2, 1], [4, 2], [6, 3]], "name": "Sarah"}] 
Смежные вопросы