【发布时间】:2013-02-18 08:33:00
【问题描述】:
KISSmetrics 生成我需要解析的无效 JSON 字符串。我遇到了很多错误,例如
ERROR 2013-03-04 04:31:12,253 Invalid \escape: line 1 column 132 (char 132): {"search engine":"Google","_n":"search engine hit","_p":"z392cpdpnm6silblq5mac8kiugq=","search terms":"happy new year animation 1920\303\2271080 hd","_t":1356390128}
ERROR 2013-03-04 04:34:19,153 Invalid \escape: line 1 column 101 (char 101): {"search engine":"Google","_n":"ad campaign hit","_p":"byskpczsw6sorbmzqi0tk1uimgw=","search terms":"\331\203\330\261\330\252\331\207 \331\201\331\212\330\257\331\212\330\244\331\211 \330\256\331\212\331\204\330\247\330\255\331\211 \331\203\331\210\330\261\330\257\331\211","_t":1356483052}
我的代码是:
for line in lines:
try:
data = self.clean_data(json.loads(line))
except ValueError, e:
logger.error('%s: %s' % (e.message, line))
原始数据示例:
{"search engine":"Google","_n":"search engine hit","_p":"kvceh84hzbhywcnlivv+hdztizw=","search terms":"military sound effects programs","_t":1356034177}
有没有机会清理这个凌乱的 JSON 并解析它?感谢您的帮助。
【问题讨论】:
-
如何解析 JSON?解码前的值
repr()是多少? -
啊,你的输入数据有 octal 转义,看起来像。那些确实是无效的 JSON。
-
还有一个建议在重复问题中使用
unicode-escape:stackoverflow.com/questions/43018576/…
标签: python json string parsing