Мягкий парсер JSON для PythonPython

Программы на Python
Anonymous
Мягкий парсер JSON для Python

Сообщение Anonymous »

Существует ли «мягкий» парсер JSON для Python?

Я постоянно получаю (рукописные) файлы JSON, такие как этот:

Код: Выделить всё

/* This JSON file is created by someone who does not know JSON
And not competent enough to search about "JSON Validators" */

{

/* Hey look!
A honkin' block comment here!
Yeehaw */

"key1": "value1",  // Hey look there's a standard-breaking comment here!
"key3": .65,       // I'm too lazy to type "0"
"key4": -.75,      // That "other" .Net program works anyways...
"key5": [ 1 /* One */, 2 /* Two */, 3 /* Three */, 4 /* Four */],
"key2": "value2",  // Whoopsie, forgot to delete the comma here...
}
Программа, которая на самом деле использовала эти чудовищно искаженные файлы JSON, каким-то образом не блефует из-за этих ошибок. Кстати, эта программа написана на C#.

Я пишу несколько скриптов на Python, которые будут выполнять действия на основе этих файлов JSON, но они продолжают падать (правильно). ) об этих ошибках.

Я могу вручную отредактировать эти файлы .json, чтобы они соответствовали стандартам... но их МНОГО и поэтому это слишком трудоемко - не говоря уже о том, что мне придется продолжать редактировать новые входящие файлы JSON, хм.

Итак, вернемся к моему вопросу, есть ли мягкий парсер JSON, который может обрабатывать эти искаженные файлы JSON, не умирая?

Примечание: Этот вопрос касается только завершающей запятой последнего объекта; он НЕ обрабатывает блочные комментарии и/или встроенные комментарии.



Изменить:
Что the... Я только что получил файл JSON, в котором создатель решил удалить начальный ноль для 0 < чисел < 1 ... -_-

И я обнаружил файл, в который встроен комментарий... :fuming_red:

Я обновлю приведенный выше пример, чтобы отразить мои дополнительные «выводы»...

Подробнее здесь: https://stackoverflow.com/questions/566 ... for-python

Вернуться в «Python»