Earlier quoted context omitted.
"Is there any good literature or patterns on supporting dumps in the tens of millions or larger?" The two main things you need are: 1. HTTP is a streaming protocol. You don't need to fully manifest a response in memory before you send it. If your framework forces that, bypass it for this particular call. (If you can't bypass it... your framework choice is now a problem for you.) 2. You presumably have some sort of JS…
IMO it's better to use JSONL[1]. Also back in the day IBM had XML for Logging format, where every separate line was an XML fragment [2]. Most markup languages suffering of having a root element, which prevents efficient logging or steaming. [1] https://jsonlines.org/ [2] https://en.wikipedia.org/wiki/XML_log
This can also be helpful when you're outputting, say, a 10MB JSON object, which isn't necessarily that large anymore, on a server where you'd like to not have to allocate 10MB of RAM to it. You can stream out a plain ol' JSON object without the resource usage.
Sadly, it is indeed easier to convince environments to stream JSON out than it is to stream it in.