我对使用json还比较陌生,正在尝试使用python中的json库将字典输出到json。我的问题是格式非常具体,我不知道如何处理。具体来说,所需的格式有额外的大括号和方括号。下面是我正在转换为json的字典和所需输出的示例:
# Sample Data
sample_dict = {"office":{"50":"pencil;paper",
"100":"stapler;eraser"},
"warehouse":{"50":"forklift;wrench",
"100":"truck,screw"}}
with open('test.json', 'w') as f:
json.dump(sample_dict, f,indent = 4)
## Output I'm able to acheive
{
"office": {
"50": "pencil;paper",
"100": "stapler;eraser"
},
"warehouse": {
"50": "forklift;wrench",
"100": "truck,screw"
}
}
## Desired Output
[{
{"office": {
"50": "pencil;paper",
"100": "stapler;eraser"
}},
{"warehouse": {
"50": "forklift;wrench",
"100": "truck,screw"
}}
}]
2条答案
按热度按时间jhkqcmku1#
额外的
[]
很简单-整本字典都在一个单子里。然而,额外的{}
不是;实际上,您发布的示例不是有效的json。此时,您需要澄清输出是应该是json还是应该匹配给定的示例。
如果输出应该是json,则需要获得正确的示例输出,然后从那里开始工作。最顶层至少是词典列表。
如果输出应该匹配给定的样本,那么它不是json,您也不会使用
json
图书馆。根据情况,您可以:用python字符串格式化(
%
或者.format()
或者f"..."
字符串);或使用像jinja或mako或类似的模板库;或
如果数据结构广泛且格式一致,请编写自己的库以输出该格式。
mfpqipee2#
我想你需要把“sample_dict”做成一个方括号的字符串。