Я запускаю проблему синтаксического анализа при загрузке JSON файлов, которые, как представляется, имеют символ TAB.
Когда я перехожу на 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)