加载似乎包含TAB字符的 JSON 文件时,我遇到了解析问题。
当我去http://jsonlint.com/时,我输入带有 TAB 字符的部分:
{
"My_String": "Foo bar. Bar foo."
}
验证者抱怨:
Parse error on line 2:
{ "My_String": "Foo bar. Bar foo."
------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
这实际上是有问题的 JSON 文本的复制/粘贴。
我试过加载这个文件,有json
没有simplejson
成功。我怎样才能正确加载它?我应该只预处理文件并将 TAB 替换\t
为空格还是空格?或者我在这里缺少什么?
更新:
这也是一个有问题的例子simplejson
:
foo = '{"My_string": "Foo bar.\t Bar foo."}'
simplejson.loads(foo)
JSONDecodeError: Invalid control character '\t' at: line 1 column 24 (char 23)