我正在寻找一种将多个JSON合并为一个JSON的方法。我的输出采用以下格式:
[{"Nome bollettino": "Bollettino 1"}, {"Causale": "1"}, {"Numero": "1"}]
[{"Nome bollettino": "Bollettino 2"}, {"Causale": "2"}, {"Numero": "2"}]
[{"Nome bollettino": "Bollettino 3"}, {"Causale": "3"}, {"Numero": "3"}]
[{"Nome bollettino": "Bollettino 4"}, {"Causale": "4"}, {"Numero": "4"}]
[{"Nome bollettino": "Bollettino 5"}, {"Causale": "5"}, {"Numero": "5"}]
[{"Nome bollettino": "Bollettino 6"}, {"Causale": "6"}, {"Numero": "6"}]
[{"Nome bollettino": "Bollettino 7"}, {"Causale": "7"}, {"Numero": "7"}]
[{"Nome bollettino": "Bollettino 8"}, {"Causale": "8"}, {"Numero": "8"}]
[{"Nome bollettino": "Bollettino 9"}, {"Causale": "9"}, {"Numero": "9"}]
[{"Nome bollettino": "Bollettino 10"}, {"Causale": "10"}, {"Numero": "10"}]
每一行都是有效的JSON。我正在寻找一种在Python中执行此操作的方法,例如this site。 Here您可以找到我用来生成JSON数据的代码。
我尝试使用jsonmerge
和json-merger
,但效果并不乐观。上面的网站做得很完美,但我需要用Python做。
特别是,jsonmerge
使用the syntax from the documentation,输出只是前两个值......
result = merge(bollettini, causale, numero)
print(result)
{'Nome bollettino': 'Bollettino 1', 'Causale': '1'}
{'Nome bollettino': 'Bollettino 2', 'Causale': '2'}
{'Nome bollettino': 'Bollettino 3', 'Causale': '3'}
etc...
......甚至不是JSON&#39。
如何合并?
答案 0 :(得分:3)
或者像这样使用2D数组输出。
import json
idx = 0
count = [idx]
data = []
while idx < 10:
idx += 1
bollettini = {'Nome bollettino': 'Bollettino ' + str(idx) }
causale = {'Causale': str(idx) }
numero = {'Numero': str(idx) }
data.append([bollettini]+[causale]+[numero])
json_data = json.dumps(data)
print (json_data) #added parenthesis
答案 1 :(得分:1)
假设你有多个jsons作为列表,如
l = [[{"Nome bollettino": "Bollettino 1"}, {"Causale": "1"}, {"Numero": "1"}]
[{"Nome bollettino": "Bollettino 2"}, {"Causale": "2"}, {"Numero": "2"}]
[{"Nome bollettino": "Bollettino 3"}, {"Causale": "3"}, {"Numero": "3"}]
[{"Nome bollettino": "Bollettino 4"}, {"Causale": "4"}, {"Numero": "4"}]
[{"Nome bollettino": "Bollettino 5"}, {"Causale": "5"}, {"Numero": "5"}]
[{"Nome bollettino": "Bollettino 6"}, {"Causale": "6"}, {"Numero": "6"}]
[{"Nome bollettino": "Bollettino 7"}, {"Causale": "7"}, {"Numero": "7"}]
[{"Nome bollettino": "Bollettino 8"}, {"Causale": "8"}, {"Numero": "8"}]
[{"Nome bollettino": "Bollettino 9"}, {"Causale": "9"}, {"Numero": "9"}]
[{"Nome bollettino": "Bollettino 10"}, {"Causale": "10"}, {"Numero": "10"}]]
您只需要将列表链接起来形成一个列表!详情阅读itertools.chain
here
>>> from itertools import chain
>>> list(chain.from_iterable(l))
将数据转储为json后输出:
[{"Nome bollettino": "Bollettino 1"}, {"Causale": "1"}, {"Numero": "1"}, {"Nome bollettino": "Bollettino 2"}, {"Causale": "2"}, {"Numero": "2"}, {"Nome bollettino": "Bollettino 3"}, {"Causale": "3"}, {"Numero": "3"}, {"Nome bollettino": "Bollettino 4"}, {"Causale": "4"}, {"Numero": "4"}, {"Nome bollettino": "Bollettino 5"}, {"Causale": "5"}, {"Numero": "5"}, {"Nome bollettino": "Bollettino 6"}, {"Causale": "6"}, {"Numero": "6"}, {"Nome bollettino": "Bollettino 7"}, {"Causale": "7"}, {"Numero": "7"}, {"Nome bollettino": "Bollettino 8"}, {"Causale": "8"}, {"Numero": "8"}, {"Nome bollettino": "Bollettino 9"}, {"Causale": "9"}, {"Numero": "9"}, {"Nome bollettino": "Bollettino 10"}, {"Causale": "10"}, {"Numero": "10"}]
答案 2 :(得分:1)
......目前还不清楚你想要什么,这可能会有所帮助:
input = [
[{"Nome bollettino": "Bollettino 1"}, {"Causale": "1"}, {"Numero": "1"}],
[{"Nome bollettino": "Bollettino 2"}, {"Causale": "2"}, {"Numero": "2"}],
[{"Nome bollettino": "Bollettino 3"}, {"Causale": "3"}, {"Numero": "3"}],
[{"Nome bollettino": "Bollettino 4"}, {"Causale": "4"}, {"Numero": "4"}],
[{"Nome bollettino": "Bollettino 5"}, {"Causale": "5"}, {"Numero": "5"}],
[{"Nome bollettino": "Bollettino 6"}, {"Causale": "6"}, {"Numero": "6"}],
[{"Nome bollettino": "Bollettino 7"}, {"Causale": "7"}, {"Numero": "7"}],
[{"Nome bollettino": "Bollettino 8"}, {"Causale": "8"}, {"Numero": "8"}],
[{"Nome bollettino": "Bollettino 9"}, {"Causale": "9"}, {"Numero": "9"}],
[{"Nome bollettino": "Bollettino 10"}, {"Causale": "10"}, {"Numero": "10"}]
]
result = []
for line in input:
result.append({k:v for x in line for (k,v) in x.items()})
结果:
[{'Causale': '1', 'Nome bollettino': 'Bollettino 1', 'Numero': '1'},
{'Causale': '2', 'Nome bollettino': 'Bollettino 2', 'Numero': '2'},
{'Causale': '3', 'Nome bollettino': 'Bollettino 3', 'Numero': '3'},
{'Causale': '4', 'Nome bollettino': 'Bollettino 4', 'Numero': '4'},
{'Causale': '5', 'Nome bollettino': 'Bollettino 5', 'Numero': '5'},
{'Causale': '6', 'Nome bollettino': 'Bollettino 6', 'Numero': '6'},
{'Causale': '7', 'Nome bollettino': 'Bollettino 7', 'Numero': '7'},
{'Causale': '8', 'Nome bollettino': 'Bollettino 8', 'Numero': '8'},
{'Causale': '9', 'Nome bollettino': 'Bollettino 9', 'Numero': '9'},
{'Causale': '10', 'Nome bollettino': 'Bollettino 10', 'Numero': '10'}]