распарсить?
Условно json1json2json3.
Попробовал python-rapidjson, но не вижу там нужного функционала.
Сконкатенированный json уже не json увы
ну парсеру json не нужно наперёд знать конец json так-то.
json-stream
в С++ это поддерживается в nlohmann json без проблем.
Спасибо, попробую.
Ну Ка скажи как разбить 123 на 2 json?
никак, это невалидный объект - не может быть конкатенация нескольких json такой
Может например 1 и 23
Если пришло без фигурных скобочек, кладем сервис, отрубаем датацентр
понял, вообще согласен, нужно глянуть, что будет на примитивных json - думаю, там объекты только
Короче нужен либо разделитель, либо не конкатенируй
ну кейс такой, что конкатенация происходит, когда есть kafka_key & kafka_value - получаем kafka_key + kafka_value
согласен, потестирую...
всё нормально, прога выдаёт ошибку, если 1 и 23 (
Странная немного либа - она только с file-like object читает.
Если у тебя на входе строка разумной и конечной длины — возникает вопрос, почему эти отдельные джейсоны не собрали в список через запятую. Эту фигню есть смысл городить для чего-то постоянно пополняющегося чанками. Потому из строк и нет интерфейса.
Вообще я посмотрел примеры и не очень понятно, как той либой распарсить. Они говорят как преимущества это меньше памяти, поскольку читают не всё сразу, а сколько нужно, но нигде нету упоминаний про несколько jsons. data = json_stream.load(io.StringIO('{"value_keyN":"value_valueN"}{"key_keyN":"key_valueN"}')) Но условно как вывести этих два json?
https://github.com/daggaz/json-stream/issues/30#issuecomment-1739791841
Хм, ну тот пример то работает, но условно на своём примере я получаю такой вывод. >>> 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"
Обсуждают сегодня