На переднем конце я получаю «фрагментированные» данные (JSON массивы) с использованием «XHR» (OnProgress)Разбор потоков JSon массивов
Когда куски прибывают с задержкой между ними - все нормально, этим случаем прост в обращении - я просто помню длину ответа и смещение на эту сумму.
Проблема возникает, когда более 1 «чанкированного» ответа поступает одновременно, что делает окончательный ответ неповторимым, так как он неправильный json.
Состав:
[array 1][array 2] ... [array N]
Пример: [{"response": [{"itemId": 1}]}][{"response": [{"itemId": 2}]}]
Вопрос: есть ли способ, чтобы разобрать его? Я пытался использовать регулярные выражения - он работал нормально до тех пор, пока у вас есть субмассивы внутри тел ответа. Другими словами - это не удастся для вышеупомянутого примера.
Это будет соответствовать этому:
1) {"response": [{"itemId": 1}
2) {"response": [{"itemId": 2}
Выходные (матчи) Я ищу:
1) {"response": [{"itemId": 1}]}
2) {"response": [{"itemId": 2}]}
Это регулярное выражение, я использую прямо сейчас.
\[(.*?)\]/gi
Любые способы сделать это с использованием регулярных выражений или мне нужны разные подходы для этого? Спасибо заранее!
Это решение работает очень хорошо! Простой и эффективный. Большое спасибо! – Dmitri
Рад помочь :) – cFreed