У меня есть файл, который содержит поток JSON словарей, как это:Как обращаться с огромным потоком словарей JSON?
{"menu": "a"}{"c": []}{"d": [3, 2]}{"e": "}"}
Она также включает в себя вложенные словари, и это выглядит как я не могу полагаться на символ новой строки, являющейся разделителем. Мне нужен синтаксический анализатор, который может быть использован, как это:
for d in getobjects(f):
handle_dict(d)
Дело в том, что было бы идеально, если итерация произошло только на корневом уровне. Есть ли парсер Python, который будет обрабатывать все причуды JSON? Меня интересует решение, которое будет работать с файлами, которые не помещаются в ОЗУ.
Я бы попытался разделить на '} {' или с регулярным выражением на '} \ s * {'. Оба не допускаются в JSON за пределами строк. Если у вас есть эти внутренние строки, это будет намного сложнее. –
Я не могу быть уверен, что у меня его нет. – d33tah
Посмотрите на парсер JSON с потоковым API. Используя Google, я столкнулся с https://pypi.python.org/pypi/ijson/ См. Особенно пример с географическими объектами. –