【发布时间】:2014-06-03 07:14:48
【问题描述】:
我使用 subprocess.Popen() 从进程的输出中得到了这个:
{ about: 'RRDtool xport JSON output',
meta: {
start: 1401778440,
step: 60,
end: 1401778440,
legend: [
'rta_MIN',
'rta_MAX',
'rta_AVERAGE'
]
},
data: [
[ null, null, null ],
[ null, null, null ],
[ null, null, null ],
[ null, null, null ],
[ null, null, null ],
[ null, null, null ]
]
}
对我来说,这似乎不是一个有效的 json。
我用过ast.literal_eval() 和json.loads(),但没有运气。
有人可以帮助我朝着正确的方向前进吗?
提前致谢。
【问题讨论】:
-
如果您无法获得生成严格 JSON 的流程,请尝试more relaxed parser。
-
这确实不是有效的 JSON;关键名称需要引用。 JSON 格式是否总是包含这么多空格?
-
@MartijnPieters :是的,键名确实应该用引号引起来。我也不确定空格的数量。
-
@Shark:我们可以尝试修复 JSON,或者您必须使用
demjson来加载它。 -
@salmanwahed:问题在于以一种不会进一步破坏 JSON 格式的自动化方式。
标签: python json dictionary rrdtool