170 похожих чатов

Столкнулся с интересной проблемой. А как в Python несколько сконкатенированных json

распарсить?
Условно json1json2json3.

Попробовал python-rapidjson, но не вижу там нужного функционала.

20 ответов

27 просмотров

Сконкатенированный json уже не json увы

Gleb-Pylypets Автор вопроса
Arkady Strugatsky
Сконкатенированный json уже не json увы

ну парсеру json не нужно наперёд знать конец json так-то.

json-stream

Gleb-Pylypets Автор вопроса
Arkady Strugatsky
Сконкатенированный json уже не json увы

в С++ это поддерживается в nlohmann json без проблем.

Gleb-Pylypets Автор вопроса
evle
json-stream

Спасибо, попробую.

Ну Ка скажи как разбить 123 на 2 json?

Gleb-Pylypets Автор вопроса
Ded
Ну Ка скажи как разбить 123 на 2 json?

никак, это невалидный объект - не может быть конкатенация нескольких json такой

Ded
Может например 1 и 23

Если пришло без фигурных скобочек, кладем сервис, отрубаем датацентр

Gleb-Pylypets Автор вопроса
Ded
Может например 1 и 23

понял, вообще согласен, нужно глянуть, что будет на примитивных json - думаю, там объекты только

Gleb Pylypets
понял, вообще согласен, нужно глянуть, что будет н...

Короче нужен либо разделитель, либо не конкатенируй

Gleb-Pylypets Автор вопроса
Ded
Короче нужен либо разделитель, либо не конкатениру...

ну кейс такой, что конкатенация происходит, когда есть kafka_key & kafka_value - получаем kafka_key + kafka_value

Gleb-Pylypets Автор вопроса
Jack Bolt
Если пришло без фигурных скобочек, кладем сервис, ...

всё нормально, прога выдаёт ошибку, если 1 и 23 (

Gleb-Pylypets Автор вопроса
evle
json-stream

Странная немного либа - она только с file-like object читает.

Gleb Pylypets
Странная немного либа - она только с file-like obj...

Если у тебя на входе строка разумной и конечной длины — возникает вопрос, почему эти отдельные джейсоны не собрали в список через запятую. Эту фигню есть смысл городить для чего-то постоянно пополняющегося чанками. Потому из строк и нет интерфейса.

Gleb-Pylypets Автор вопроса
evle
Если у тебя на входе строка разумной и конечной дл...

Вообще я посмотрел примеры и не очень понятно, как той либой распарсить. Они говорят как преимущества это меньше памяти, поскольку читают не всё сразу, а сколько нужно, но нигде нету упоминаний про несколько jsons. data = json_stream.load(io.StringIO('{"value_keyN":"value_valueN"}{"key_keyN":"key_valueN"}')) Но условно как вывести этих два json?

Gleb-Pylypets Автор вопроса
evle
https://github.com/daggaz/json-stream/issues/30#is...

Хм, ну тот пример то работает, но условно на своём примере я получаю такой вывод. >>> data = json_stream.load(io.StringIO('{"value_keyN":"value_valueN"}{"key_keyN":"key_valueN"}'), tokenizer=tokenize) >>> for d in data: ... print(json.dumps(d)) ... "value_keyN"

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта