JSONLab: portable, robust JSON/binary-JSON encoder/decoder

A toolbox to encode/decode JSON/UBJSON/MessagePack files in MATLAB/Octave

https://neurojson.org/jsonlab

Download
Download

You are now following this Submission

Editor's Note: Popular File 2018

This file was selected as MATLAB Central Pick of the Week

Cite As

Qianqian Fang (2026). JSONLab: portable, robust JSON/binary-JSON encoder/decoder (https://se.mathworks.com/matlabcentral/fileexchange/33381-jsonlab-portable-robust-json-binary-json-encoder-decoder), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
2.9.8

-support JSON-mmap for fast read/write of JSON files as disk-map
-support JSONPath
-jdlink/jsoncache download/cache links on-demand
-support Blosc2/ZStd array compression
-set `BuiltinJSON` to call jsonencode/decode
-built-in NIfTI/HDF5/CSV parsers

Download
2.0.1

- fix bjdata spec link

Download
2.0.0

- add unit testing script
- apply data compression to strings
- add jsave and jload for portable data sharing
- compatible with R2008
- add UseMap option output containers.Map
- supports BJData spec Draft 1
- add _ArrayShape_ to save special matrices

Download
1.15.0

ChangeLog:
- update documentation, finalize 1.0
- fix a bug to strictly respect NoRowBracket in savejson

Download
1.13.0

ChangeLog:
- fix UBSJON data endianness for all integer types
- fix several compatibility issues for GNU octave
- support 2D cell and struct arrays
- escape special characters in a JSON string
- fix a bug when saving UBSJON files

Download
1.12.0

- update to jsonlab 1.0 beta release
- fix file read and write bugs in loadubjson and saveubjson

Download
1.11.0

update to 1.0 alpha release, included functions (saveubjson and loadubjson) for writing and reading Universal Binary JSON files

Download
1.10.0

ChangeLog

- 2012/06/17 *new format for an invalid leading char, unpacking hex code in savejson
- 2012/06/01 support JSONP in savejson
- 2012/05/25 fix the empty cell bug
- 2012/04/05 savejson can save to a file

Download
1.9.8

- fix a bug in saveubjson when saving integer 256

Download
1.9.8-3

- fix openjdata.org link

Download
1.9.8-2

- update savejson and saveubjson license statement

Download
1.9.8-1

-Avoid double expanding arrayzipdata in savejson and saveubjson

Download
1.9.8-0

-Official reference implementation for JData Spec Draft 2(http://github.com/fangq/jdata)
-Initial support to MessagePack
-ND array serialization changed from column-major->row-major
-Support LZMA/LZ4/LZHC compression
-Support graph,table,class&object

Download
1.9.0

- unescape strings in loadjson.m
- support zmat base64 encoding
- support data compression
- support function handles
- add option to parse string array or convert to char
- treat string array as cell array in newer matlab
- save 64bit int in ubjson

Download
1.7.0

ChangeLog:
-2012/01/13 speed up loadjson by 20 fold when parsing large data arrays in matlab
-2012/01/11 remove row bracket if an array has 1 element
-2011/12/22 accept sequence of 'param',value input
-2011/11/18 fix struct array bug

Download
1.5.0

-use Big-endian format to store floating points (d/D) in saveubjson
-speedup parsing large unstructured data
-make parsing independent of whitespace
-allow to parse array of homogeneous elements
-fix a bug that prevents saving to a file in savejson

Download
1.3.0

ChangeLog:

2011/10/21 fix a bug in loadjson, previous code does not use any of the acceleration
2011/10/20 loadjson supports JSON collections: appendable JSON objects

Download
1.2.0

- 2x speed in savejson (Issue#17)
- fix FileName case bug (SVN rev#495)
- add SingletCell/SingletArray flags (Issue#15,#8)
- fix file name bug (Pull#14)
- fix bug for cell with transposed data (Pull#12)
- export matlab object to JSON (Pull#10,#11)

Download
1.1.0

-massively accelerating loadjson
-parse logicals in loadjson
-make options case insensitive
-reading unicode encoded json files
-allow \uXXXX in a unicode in a string
-handle escape characters in a string
-implement the UBJSON Draft12 new name format

Download