首页 > 解决方案 > 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。稍后,我会将其应用到成本和其他方面。在此先感谢。

费尔达

标签: pythonjson

解决方案


这是我的错误,我使用 name 而不是 level_name。下面的代码解决了我的问题。

x = data['controls'][control]['level_name']
        
        
        for control_level in x:

推荐阅读