Well, you are doing it again :) You disabled the Save/Load system and the error message went away. Great, but why stop at this and ask for a solution on the forum? Why not try to find what's causing this error yourself? You already know how to do it - add debug messages to all events which you think are involved, run the project in debug mode, open console, press the button, see what's happening, try to figure out the sequence of events and soon you will wind the fix. Troubleshoot! Nobody can do this better than you because nobody knows the project as well as you do. (I'm almost sure it's something to do with Undo flags not properly set or cleared)
About JSON - you don't need to understand its structure to use it. JSON (from saved state) is just a string of data, containing information about all objects in your project. When you load from JSON, all objects are recreated from that data, that's it.