Я постоянно получаю (рукописные) файлы 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...
}
Я пишу несколько скриптов на Python, которые будут выполнять действия на основе этих файлов JSON, но они продолжают падать (правильно). ) об этих ошибках.
Я могу вручную отредактировать эти файлы .json, чтобы они соответствовали стандартам... но их МНОГО и поэтому это слишком трудоемко - не говоря уже о том, что мне придется продолжать редактировать новые входящие файлы JSON, хм.
Итак, вернемся к моему вопросу, есть ли мягкий парсер JSON, который может обрабатывать эти искаженные файлы JSON, не умирая?
Примечание: Этот вопрос касается только завершающей запятой последнего объекта; он НЕ обрабатывает блочные комментарии и/или встроенные комментарии.
Изменить: Что the... Я только что получил файл JSON, в котором создатель решил удалить начальный ноль для 0 < чисел < 1 ... -_-
И я обнаружил файл, в который встроен комментарий... :fuming_red:
Я обновлю приведенный выше пример, чтобы отразить мои дополнительные «выводы»...
Подробнее здесь: https://stackoverflow.com/questions/566 ... for-python