Set sets a json value for the specified path.
A path is in dot syntax, such as “name.last” or “age”.
This function expects that the json is well-formed, and does not validate.
Invalid json will not panic, but it may return back unexpected results.
An error is returned if the path is not valid.
SetRaw sets a raw json value for the specified path.
This function works the same as Set except that the value is set as a
raw block of json. This allows for setting premarshalled json objects.