MATLAB Answers

How to update json file with MATLAB?

111 views (last 30 days)
I have json file that is read by MATLAB script. I’m looking for a way to update the file since there are many to update. I know I can fixed the MATLAB script but I want to keep it and just fix the details in the json file.
I could not upload the json file since it does not accept it here. I converted to a txt one.
What I need to do is the following (in row 209)
For example. I have "HighPrice" :12000 and I want to change it to "HighPrice" :11000,
Anyway, MATLAB can fix this rather than doing it manually please?

  0 Comments

Sign in to comment.

Accepted Answer

Kojiro Saito
Kojiro Saito on 10 Feb 2020
From R2016b, MATLAB can handle JSON format easily with jsondecode and jsonencode.
Here is a snippet to change the value of JSON and write to a file.
jsonText = fileread('Portfolio.json');
% Convert JSON formatted text to MATLAB data types (3x1 cell array in this example)
jsonData = jsondecode(jsonText);
% Change HighPrice value in Row 3 from 10000 to 12000
jsonData{3}.HighPrice = 12000;
% Convert to JSON text
jsonText2 = jsonencode(jsonData);
% Write to a json file
fid = fopen('Portfolio2.json', 'w');
fprintf(fid, '%s', jsonText2);
fclose(fid);

  2 Comments

Yaser Khojah
Yaser Khojah on 10 Feb 2020
Thanks so much for your help :)
Emanuel Crespo
Emanuel Crespo on 14 Feb 2020
I , I've used this answer in my case but the text in the final .json file is all in a single line and not formatted as the initial one with spatials and line changes in the correct places. What do I need to do differently?

Sign in to comment.

More Answers (0)

Tags


Translated by