As constructing the object graph can be quite complex, it is useful to do this once using the command line interface.
The object graph can then be serialized to a JSON file.
This is done using the
snapshot-restore commands (these have aliases
A snapshot normally consist of the JSON file containing the object graph and property values, and separate binary blobs containing ROM and RAM contents.
The JSON snapshots are human readable, so, simple editing can be done on them by hand using a text editor.
In case a JSON file is edited, pay attention that when data of type
uint64_t is serialized, it is split into two separate 32 bit values, thus the arrays storing the values will contain twice the elements that are actually in the object’s property.
Another issue is that JSON is not practical for storing RAM and ROM dumps which are needed if saving and restoring a snapshot not at time 0. Thus ROM and RAM is stored in a binary dump (which is host endian dependent) and the JSON file with the saved system configuration contain references to these RAM and ROM dump files.