【发布时间】:2015-12-29 20:40:05
【问题描述】:
我正在尝试使用转义字符解析 json 字符串(我猜是某种)
{
"publisher": "\"O'Reilly Media, Inc.\""
}
如果我从字符串中删除字符 \",解析器会很好地解析,
不同解析器引发的异常是,
json
File "/usr/lib/python2.7/json/__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting , delimiter: line 17 column 20 (char 392)
ujson
ValueError: Unexpected character in found when decoding object value
如何让解析器转义这些字符?
这是我的ide显示的
逗号是随便加的,json结尾没有逗号,json有效
字符串定义。
【问题讨论】:
-
你是如何定义输入字符串的?当你 print 字符串时,你还看到反斜杠吗?我根本无法重现。
-
如果输入字符串在 Python 源代码中,您可能需要先转义那里的元字符。如果是这种情况,请考虑使用原始字符串。
-
@MartijnPieters 逗号被意外添加,问题是字符
/" -
你能告诉我们你开始解析的方法吗?
-
@Marty:请注意,您的屏幕截图显示您正在定义 Python 字符串,因此
\"被解释为 Python 字符串文字转义 .您产生的实际值中的反冲消失了。