我有以下一行:
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:{
这样做的正确方法是什么?
答案 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
。