[SOLVED] How do I start and stop the flow of a connection to an internet server?

Issue

This Content is from Stack Overflow. Question asked by David Powell

I’m using an ESP8266 with ESP8266WiFi and ESP8266HTTPClient libraries. My app doesn’t have enough memory to download the entire JSON file that I need, but all I really need is a few fields from it, so I can discard most of it as I read it in.
What I don’t understand is how to start, stop, or otherwise slow down the incoming data so that I can process it and pick out what I need as it comes in from the server. I have to use a fairly small buffer when I make the connection due to memory limitations caused by the rest of the program.
Is there a way to fill the buffer from the server, pause the transmission, process and clear the data in the buffer, and then resume the transmission until the whole JSON file is processed?



Solution

Sounds like you will want to use a streaming JSON parser. There are a couple of forks of such a library on GitHub. https://github.com/mrfaptastic/json-streaming-parser2 seems to be the one still maintained.


This Question was asked in StackOverflow by David Powell and Answered by Marcel Stör It is licensed under the terms of CC BY-SA 2.5. - CC BY-SA 3.0. - CC BY-SA 4.0.

people found this article helpful. What about you?