Python / json.load给出了异常

时间:2015-01-21 14:31:21

标签: python json

我有以下一行:

BL: {version: 2, revision: 1}

我想解析它,以便我将获得一个变量BL,另一方面,我将得到

[[version, revision], [2,1]]

我有以下代码:

for line in file:
        print line.split(':',1)[0]; gives me the first word (BL)
        print line.split(': ',1)[1]
        data = json.loads(json.dumps(line.split(': ',1)[1]));

问题是数据不包含数据作为变量,所以当我data[0]时,我得到了char:{

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

您的JSON无效,因为它的密钥无效(您可能需要字符串)。

为了解决这个问题,你可以做一些像hacky这样的事情:

# give value to non-string keys, to use in eval
version = "version"
revision = "revision"
d = eval(line.split(": ", 1)[1])

print [d.keys(), d.values()]

这要求您事先知道所有密钥。

我建议您修改输入生成脚本。

我总是避免eval