If you know the protocol between JSON strings - such as cr/lf, cr, lf, you can write something like is done for GPS where the (non-JSON) sentences come in line by line. With every new arrival of a data fragment you look for the separation (ends and begins) and process when one found... see GPS module source at https://www.espruino.com/modules/GPS.js
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
If you know the protocol between JSON strings - such as cr/lf, cr, lf, you can write something like is done for GPS where the (non-JSON) sentences come in line by line. With every new arrival of a data fragment you look for the separation (ends and begins) and process when one found... see GPS module source at https://www.espruino.com/modules/GPS.js