Se invii più blob di JSON ben formati, dovrai mettere un separatore tra loro in modo che il destinatario sappia dove finisce un blob e inizia il successivo. Ovviamente questo non rispetterà lo standard, perché ECMA 404 non prevede nulla come quello. Fortunatamente, l'IETF è intervenuto e ha adottato RFC 7464 come un modo per gestirlo. Definisce un flusso come un gruppo di record delimitati all'inizio da un carattere separatore del record (ASCII RS
o 0x1e
) e alla fine da un avanzamento riga (ASCII LF
o 0x0a
).
Come lo dividi dipende da te, ma suggerirei di inserire un numero sufficiente di dati in ogni blob in modo che il programma ricevente possa verificare che stia ottenendo tutto e sappia dove finiscono i dati:
<RS>
{ "id": 123, "giant-array": null, ... }
<LF>
<RS>
{ "id": 123, "part": 1, "giant-array": [ 1, 2, 3, ... ] }
<LF>
<RS>
{ "id": 123, "part": 2, "giant-array": [ 101, 102, 103, ... ] }
<LF>
... etc. ...
<RS>
{ "id": 123, "part": 2, "giant-array": null }
<LF>