Highly portable JSON-input parser

Version 1.1.0.0 (3.21 KB) by Nedialko
For any version of Matlab that may still be in use by the fileexchange community.
2.3K Downloads
Updated 3 Nov 2009

View License

The JSON quickly gains popularity for a good reason. To paraphrase Christophe Delord (http://christophe.delord.free.fr/tpg/)
JSON is born from a simple statement:
A simple human-like meta-language will quickly
justify its use in such cases as data exchange over the web (e.g. Google translate), configuration files, etc.

See

http://sites.google.com/site/sim4stim/2clicks/a2t.html

for an example of AUTOMATIC, PORTABLE & REUSABLE creation of GUI sets for Matlab.
(Note: p_json.m is at the core of this example too)

Hence it is worth the while to provide this novel facility to the widest possible audience of Matlab users.

Based on work from:

http://json-schema.org/
&
http://www.mathworks.com/matlabcentral/fileexchange/ ::

F.Glineur 23393-another-json-parser: Faster, Clearer & More robust than #20565
J.Feenstra 20565-json-parser

This submission also provides a very simple (yet meaningful) use example (see also the screenshot).

Your test script (called a0t on the screenshot) may look like:

% ---------------------------------------------------------

fName = 'test02.jon';

fid = fopen(fName,'rt'); inString = fscanf(fid,'%c'); fclose(fid);

data = p_json(inString)

% ---------------------------------------------------------

and hence

inString == verbatim the 'test02.jon' TEXT input file,

provided in the .zip (see links below for more detail and more definitions):

% =========================================================
inString =

{
"$schema":
{"properties":{
"name": {"type":"string"},
"age" : {"type":"integer",
"maximum":125,
"optional":true}
},
"type" : "object"
},
"name" : "John Doe",
"age" : 30
}

% =========================================================

*** See also:

Given the topical nature of the JSO notation we invite the user to take a look at places like:

http://en.wikipedia.org/wiki/JSON

http://json-schema.org/

http://json.org/

Cite As

Nedialko (2026). Highly portable JSON-input parser (https://uk.mathworks.com/matlabcentral/fileexchange/25713-highly-portable-json-input-parser), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R10
Compatible with any release
Platform Compatibility
Windows macOS Linux
Version Published Release Notes
1.1.0.0

Corrected typos & added the auto-GUI example & its link

1.0.0.0