python - JSon -Parse with Python中的多行逗号分隔列表
问题描述
我有一个 json 文件,我正在解析它以读取一些如下所示的属性。
"controls": {
"PS": {
"name": "Physical Security",
"level_name": [
"PS 1",
"PS 2"
],
"cost": [
6,
10
],
"ind_cost": [
2,
2
],
"flow": [
0.55,
0.325
]
},
.
.
.
}
以前,当我只有一个级别,例如“PS 1”时,没有问题,我正在使用此代码读取值。
for control in data['controls']:
print(control,': ', data['controls'][control]['name'])
现在,有多个级别我遇到了困难。我尝试如下拆分。
x = data['controls'][control]['name'].split('\n')
或如下
x = data['controls'][control]['name'].split(',')
或如下
x = data['controls'][control]['name'].split('\n,')
每次我在 x 中只得到一个项目,对于这个例子 PS。
我想要的是能够按此顺序获得 PS 1 和 PS 2。稍后,我会将其应用到成本和其他方面。在此先感谢。
费尔达
解决方案
这是我的错误,我使用 name 而不是 level_name。下面的代码解决了我的问题。
x = data['controls'][control]['level_name']
for control_level in x:
推荐阅读
- spring - 使用 Spring Boot 2 的 Docker 堆栈“配置”
- node.js - Angular SSL 证书和密钥——Ng 服务根目录
- java - 需要一个 android 按钮来执行一个故意空白的 EditText 框
- omnet++ - 在 ubuntu 上修改 Castlia 3.3 + omnetpp 5.3 - 权限被拒绝
- d3.js - 减少词云 zingcharts 中的空白?
- bash - 如果在 heredoc (ssh ... <
如果命令在
EOF
. 但我无法使用变量来存储命令或将输出存储在文件中。例如:
#!/bin/bash a='Some other commands in local machine' ssh ubuntu@xx.xx.xx.xx << EOF echo $a; ldt=$(date +'%Y%m%d') aw
- apache-storm - 向 Storm 拓扑添加交互式元素
- json - 理解这个无对象的 JSON
- database - db2 import export 到相同的 ixf 但不同的进程
- javascript - 将数据传递给 ngAfterViewInit() 中的函数 - Angular 6