Arrays of strings are parsed by matlab's eval, and since they use double quotes they end up as string instead of char starting from 2017a.
A simple fix is to convert them back at the end, something like the following in loadjson.m (after parsing):
% The eval in parse_array creates strings, not char arrays, in R2017a+. Convert
% back (in try block, because the method probably doesn't exist in earlier versions)
try
data = controllib.internal.util.hString2Char(data);
catch
end
Arrays of strings are parsed by matlab's
eval, and since they use double quotes they end up asstringinstead ofcharstarting from 2017a.A simple fix is to convert them back at the end, something like the following in loadjson.m (after parsing):