Skip to content

jsondecode error calling cat in condense_decoded_json_recursive #21

@siko1056

Description

@siko1056

Some days ago, I ran a benchmark including your package and observed running this code

pkg install https://github.com/apjanke/octave-jsonstuff/releases/download/v0.3.3/jsonstuff-0.3.3.tar.gz
pkg load jsonstuff

urlwrite ( ...
  'https://github.com/json-iterator/test-data/raw/master/large-file.json', ...
  'large-file.json');

json_str = fileread ('large-file.json');

which jsondecode

octave_obj = jsondecode (json_str);

the following error message in Octave 5.2.0

'jsondecode' is a function from the file /home/siko1056/.local/share/octave/5.2.0/jsonstuff-0.3.3/jsondecode.m

error: orderfields: structs must have same fields up to order
error: cat: field names mismatch in concatenating structs
error: called from
    jsondecode>condense_decoded_json_recursive at line 116 column 9
    jsondecode>condense_decoded_json at line 67 column 7
    jsondecode at line 63 column 7
    blub at line 12 column 12

and the following error message in Octave 7.0.0

'jsondecode' is a function from the file /home/siko1056/.local/share/octave/7.0.0/jsonstuff-0.3.3/jsondecode.m

error: cat: field names mismatch in concatenating structs
error: called from
    jsondecode>condense_decoded_json_recursive at line 116 column 9
    jsondecode>condense_decoded_json at line 67 column 7
    jsondecode at line 63 column 7
    blub at line 12 column 12

I did no further investigation yet.

if is_condensable
out = cat (1, x{:});
else
out = x;
endif

Thank you for your package @apjanke, it helped our GSoC student Abdallah a lot 👍

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions