yab*_*exu 2 python json dictionary
我想以一种很好的方式打印Json,我想摆脱括号,引号和括号,只使用缩进和行结尾来显示json的结构.
例如,如果我有这样的Json:
{
"A": {
"A1": 1,
"A2": 2
},
"B": {
"B1": {
"B11": {
"B111": 1,
"B112": 2
},
"B12": {
"B121": 1,
"B122": 2
}
},
"B2": {
"B21": [1,2],
"B22": [1,2]
}
},
"C": "CC"
}
Run Code Online (Sandbox Code Playgroud)
如何通过删除{}和[]来打印json,我想要的是:
A:
A1: 1
A2: 2
B:
B1:
B11:
B111: 1
B112: 2
B12:
B121: 1
B122: 2
B2:
B21: 1, 2
B22: 1, 2
C: CC
Run Code Online (Sandbox Code Playgroud)
您可以将json加载到python对象中,然后将python对象转换为YAML.另一种解决方案是简单地遍历字典并根据需要对其进行格式化.
这是将其转换为YAML的示例.它并没有准确地给你你想要的东西,但它非常接近.有很多方法可以自定义输出,这只是一个显示一般想法的快速黑客:
import json
import yaml
data = json.loads('''
{
"A": {
"A1": 1,
"A2": 2
},
"B": {
"B1": {
"B11": {
"B111": 1,
"B112": 2
},
"B12": {
"B121": 1,
"B122": 2
}
},
"B2": {
"B21": [1,2],
"B22": [1,2]
}
},
"C": "CC"
}
''')
print yaml.safe_dump(data, allow_unicode=True, default_flow_style=False)
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出:
A:
A1: 1
A2: 2
B:
B1:
B11:
B111: 1
B112: 2
B12:
B121: 1
B122: 2
B2:
B21:
- 1
- 2
B22:
- 1
- 2
C: CC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1275 次 |
| 最近记录: |