How to encode a matlab table in json

70 views (last 30 days)
Chiara Labate
Chiara Labate on 30 Oct 2017
Answered: Andrew Diamond on 18 Jul 2021
I have a table filled in matlab and now I would like to encode it in json format. How to do? I should show the headers of each columns and also their value. thanks you!! Chiara

Answers (2)

JClarcq
JClarcq on 5 Mar 2018
just do
str=jsonencode(tab);
tab2=jsondecode(str);
Be careful: I noticed that if you use table properties VariableUnits, then it gets lost!!

Andrew Diamond
Andrew Diamond on 18 Jul 2021
From my experiments, jsonencoding a table, writing, then jsondecoding the file returns an equivalent array of structures. You can convert back to a table via struct2table but that assumes you knew it was a table to begin with.
So, I guess you would have to do it "manually" by changing each table to output into, say, a structure with a table field and a unique ID field so that after this structure (with the ID and table field) was read back in, you could parse the returned item for such structures and just, now with foreknowledge, convert the table field back to a table via struct2table.
Not very pretty

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!