As commenters said - there is no way to make parsing faster.

If the concern is that the app is blocked while it's stringifying/parsing then try to split data into separate objects, stringily them and assemble back into one object before saving on the server.

If loading time of the app is not a problem you could try to ad-hoc incremental change on top of the existing app.

  • ... App loading
  • Load map data
  • Make full copy of the data
  • ... End loading
  • ... App working without changes
  • ... When saving changes
  • diff copy with changed data to get JSON diff
  • send changes (much smaller then full data)
  • ... On server
  • apply JSON diff changes on the server to the full data stored on server
  • save changed data

I used json-diff https://github.com/andreyvit/json-diff to calc changes, and there are few analogs.

Answer from Wlodzislav K. on Stack Overflow
🌐
V8
v8.dev › blog › json-stringify
How we made JSON.stringify more than twice as fast · V8
We also added this optimization to JSON.parse, where we can utilize it for fast key comparisons while parsing an array, assuming that objects in the array often have the same hidden classes. Converting numbers to their string representation is a surprisingly complex and performance-critical task. As part of our work on JSON.stringify, we identified an opportunity to significantly speed up this process by upgrading our core DoubleToString algorithm.
🌐
Medium
medium.com › @pmzubar › why-json-parse-json-stringify-is-a-bad-practice-to-clone-an-object-in-javascript-b28ac5e36521
Why use JSON “parse” and “stringify” methods a bad practice to clone objects in JavaScript (2023 update) | by Petro Zubar | Medium
October 10, 2023 - Cloning the objects often becomes a problem for JS programmers. Surprisingly, the second most popular answer to the question `What is the most efficient way to deep clone an object in JavaScript?` is… to JSON.parse(JSON.stringify()) it!
🌐
DEV Community
dev.to › samchon › i-made-10x-faster-jsonstringify-functions-even-type-safe-2eme
I made 10x faster JSON.stringify() functions, even type safe - DEV Community
April 3, 2023 - Such optimized runtime code generation by analzying source code is called AOT (Ahead of Time) compilation and it is the reason why typescript-json's JSON string conversion functions are much faster than the native JSON.stringify() function despite of type validation process.
🌐
Medium
medium.com › @it.experts › improving-json-parsing-and-stringifying-performance-in-javascript-b6b8611b7e42
Improving JSON Parsing and Stringifying Performance in JavaScript | by IT Experts Blog | Medium
February 8, 2024 - By running this benchmark, you can observe the significant performance gains achieved when using a JSON schema. The Stringify With Schema section should complete considerably faster than the Stringify Without Schemasection, especially when dealing with intricate data structures. Efficient JSON parsing and stringification are essential for web applications that rely on data exchange.
🌐
npm
npmjs.com › package › fast-json-stringify
fast-json-stringify - npm
At some point the overhead caused by the default mechanism used by fast-json-stringify to handle arrays starts increasing exponentially, leading to slow overall executions. In order to improve that the user can set the largeArrayMechanism and largeArraySize options. largeArrayMechanism's default value is default. Valid values for it are: default - This option is a compromise between performance and feature set by still providing the expected functionality out of this lib but giving up some possible performance gain.
      » npm install fast-json-stringify
    
Published   Feb 06, 2026
Version   6.3.0
Author   Matteo Collina
🌐
ITNEXT
itnext.io › can-json-parse-be-performance-improvement-ba1069951839
Can JSON.parse() performance be improvement? | by Kemal Erdem (burnpiro) | ITNEXT
February 11, 2020 - Because the test is not a simple function (code is simple but expensive to run), the initial cost of calling JSON.stringify and JSON.parse is way lower than running that function without optimization. In the second test run, that function becomes Megamorphic and V8 stops optimizing it. You can check this gist to try it on your machine. It’s important to understand how JS optimization works when designing complex computation methods in JavaScript. Sometimes even a simple thing can cause performance to drop and you can spend days trying to figure out what’s happening.
Find elsewhere
🌐
GitHub
github.com › fastify › fast-json-stringify
GitHub - fastify/fast-json-stringify: 2x faster than JSON.stringify() · GitHub
At some point the overhead caused by the default mechanism used by fast-json-stringify to handle arrays starts increasing exponentially, leading to slow overall executions. In order to improve that the user can set the largeArrayMechanism and largeArraySize options. largeArrayMechanism's default value is default. Valid values for it are: default - This option is a compromise between performance and feature set by still providing the expected functionality out of this lib but giving up some possible performance gain.
Author   fastify
🌐
MeasureThat
measurethat.net › Benchmarks › Show › 18881 › 0 › spread-vs-jsonparsejsonstringify
Benchmark: Spread vs JSON.parse(JSON.stringify()) - MeasureThat.net
JavaScript benchmarks, JavaScript performance playground. Measure performance accross different browsers. javascript benchmarks online.
🌐
GitHub
github.com › lucagez › slow-json-stringify
GitHub - lucagez/slow-json-stringify: The slowest stringifier in the known universe. Just kidding, it's the fastest (:
Why SJS is the fastest stringifier? The traditional approach consists in serializing every property taken singularly. SJS uses a different approach to serialization. ... A templated string is built with the provided schema. ... Object values are inserted in the already built template. It is faster simply because it performs a lot less work. SJS require some setup work if compared to native JSON.stringify.
Starred by 474 users
Forked by 17 users
Languages   JavaScript 98.5% | Shell 1.5%
🌐
Hacker News
news.ycombinator.com › item
How we made JSON.stringify more than twice as fast | Hacker News
August 11, 2025 - Sooner or later is seems like everyone gets the idea of reducing event loop stalls in their NodeJS code by trying to offload it to another thread, only to discover they’ve tripled the CPU load in the main thread · I’ve seen people stringify arrays one entry at a time.
🌐
MeasureThat
measurethat.net › Benchmarks › Show › 25901 › 0 › jsonstringify-vs-jsonparse
Benchmark: JSON.stringify VS JSON.parse - MeasureThat.net
lodash clonedeep vs json.parse(stringify()) vs recursivecopy new big · Plain Json: lodash clonedeep vs json.parse(stringify()) JSON.parse vs structuredClone · lodash clonedeep vs json.parse(stringify()) vs recursivecopy heavy · Comments · × · Do you really want to delete benchmark?
🌐
Hacker News
news.ycombinator.com › item
The cost of parsing JSON | Hacker News
September 21, 2019 - maybe I'm being picky though · Think I'm joking?: https://www.scientificamerican.com/article/not-so-conservati
🌐
Google Groups
groups.google.com › g › nodejs › c › qp7n52KT8E4
JSON.parse - performance & security
I am parsing this string into a JS object: var orig = { "u":1111111111, "m":"2222222222", "e":3333333333, "t":1, "a":44444444.44, "p":55.55 }; var msg = JSON.stringify(orig); The built in JSON.parse takes 16usec to parse this, compared to 9usec for json-sans-eval (http://code.google.com/p/...
🌐
GitHub
github.com › facebook › hermes › issues › 1008
JSON.stringify() is 3x slower on Hermes than JSC · Issue #1008 · facebook/hermes
January 21, 2023 - Bug Description JSON.stringify() is 3x slower on Hermes than JSC. ----hermes Running JSON.stringify 1000 times cost 7265ms ----jsc Running JSON.stringify 1000 times cost 1612ms ----node Running JSON.stringify 1000 times cost 2911ms Herme...
Published   May 23, 2023
🌐
Built In
builtin.com › software-engineering-perspectives › json-stringify
How to Use JSON.stringify() and JSON.parse() in JavaScript | Built In
A frequent code example in discussions ... arrays or objects will be copied. As a note, JSON.parse(JSON.stringify()) performs a shallow deep copy (i.e., it copies structure, not full fidelity across all types)....
🌐
MDN Web Docs
developer.mozilla.org › en-US › docs › Web › API › Performance › toJSON
Performance: toJSON() method - Web APIs | MDN
To get a JSON string, you can use JSON.stringify(performance) directly; it will call toJSON() automatically. JSON · Was this page helpful to you? Yes · No Learn how to contribute · This page was last modified on Oct 12, 2024 by MDN contributors.
🌐
GitHub
github.com › zloirock › core-js › issues › 1316
Performance Issue in Object Cloning using JSON.parse(JSON.stringify()) on safari and firefox · Issue #1316 · zloirock/core-js
September 8, 2023 - Our performance team confirmed that the loading time on Chrome is faster compared to Safari and FireFox. This happens because in our particular use case, we had 10 functions using object cloning with JSON.parse( JSON.stringify( object ) ). We ...
Published   Dec 17, 2023