It seems that the presence of tabs in a JSON file can cause loadjson() to load certain files differently. Using revision f8def3d of jsonlab with either MATLAB R2016a or Octave 4.2.0, loading foo.json from files.zip (which contains tabs) using data = loadjson('foo.json') causes data.a.b.c to be created as a cell array, while loading bar.json (which contains only spaces) causes data.a.b.c to be created as a matrix. Shouldn't c always be created as a matrix regardless of the whitespace?