For non-Steam version of the game check out Nine Sols Save Editor. I also took the field info .json file directly from there.
The default Steam save file location for Windows is:
%userprofile%\AppData\LocalLow\RedCandleGames\NineSols
It turned out to be quite a technical challenge to make it all work. The biggest problem was to pack the data back in a way the game can still read it. The game is data marker sensitive and so the usual MessagePack encoding library just wouldn't cut it. MessagePack libraries mostly aim to provide a smaller file size rather than accuracy. I made rmpp rust crate and npm package specifically to solve this issue.
The save data is stored in a deflated MessagePack-encoded binary file of .sav/.sav.bak extension. The latter simply being a backup. So the general editing process looks something like: inflate → decode → edit → encode → deflate.