Glad you sorted your problem out! Yeah, this was written for GameMaker Studio 2 V2.3 , anything older than that won't work.
To answer your question, yes, you can do that using json_encode to turn it into a struct. Then, when loading it in you can read through the struct's values and re-create the DS map. (note that you cannot directly set the DS map as a value in SSave, so when re-creating it you will have to store the DS map in a variable somewhere else).
Hope that helps!!