JSONLab:一个编码/解码JSON文件的工具箱

版本2.0.1 (137 KB)的 千千方
用于编码/解码MATLAB/Octave中的JSON/UBJSON/MessagePack文件的工具箱

50.9 k下载

更新6月14日2020

查看许可协议

编者按:受欢迎的文件2018

该文件被选为MATLAB中央本周精选

** JSONLab 2.0 Final (Magnus Prime)于2020年6月14日发布
==============================================================
发布网址:https://github.com/fangq/jsonlab/releases/tag/v2.0
取决于://www.ru-cchi.com/matlabcentral/fileexchange/71434-zmat
数据格式按
- JData规范草案3:http://github.com/OpenJData/jdata,
-二进制JData规范草案-1http://github.com/OpenJData/bjdata
Python模块读取/写入JSONLab文件:
- jdata:https://pypi.org/project/jdata/
- bjdata:https://pypi.org/project/bjdata/
==============================================================

JSONLab是一个免费和开源的JSON/UBJSON/MessagePack编码器和
用原生的MATLAB语言编写的解码器。它可以用来转换一个MATLAB
数据结构(数组、结构体、单元格、结构体数组、单元格数组和对象)
JSON/UBJSON/MessagePack格式化的字符串和文件,或解析一个
JSON/UBJSON/MessagePack文件转化为MATLAB数据结构。JSONLab两者都支持
MATLAB和GNU Octave [http://www.gnu.org/software/octave(一个免费的MATLAB克隆)。

JavaScript对象表示法,http://www.json.org/)是一种高度便携的,
人类可读和“无脂肪”的文本格式,以表示复杂和层次
数据,广泛用于应用程序中的数据交换。通用二进制JSON,
http://ubjson.org/)是一种二进制JSON格式,专门用于解决
JSON的局限性,允许使用强类型有效存储二进制数据
数据记录,导致更小的文件大小和快速的编码和解码。
MessagePack是另一种在数据中广泛使用的类似json的二进制数据格式
在web/本地应用程序中交换。它比UBJSON更紧凑,
但与UBJSON相比,它不是直接可读的。

我们认为JSON和它的二进制对等体都将发挥重要作用
规则不仅适用于轻量级数据存储,而且适用于存储和交换
科学数据。它具有其他通用用途的灵活性和通用性
文件规格,例如HDF5 [http://www.hdfgroup.org/HDF5/whatishdf5.html
但显著降低了复杂性和极好的可读性。

为了达到这个目标,我们开发了JData规范(http://github.com/fangq/jdata
将复杂科学数据结构的序列化标准化,例如
N-D数组,稀疏/复值数组,树,映射,表和图的使用
JSON/二进制JSON结构。文本和二进制格式的JData文件是
在语法上与JSON/UBJSON格式兼容,并且可以很容易地解析
使用现有的JSON和UBJSON解析器。JSONLab不仅仅是一个解析器和编写器
JSON/UBJSON数据文件,但系统地转换复杂的科学
数据结构转换为人类可读且普遍支持的JSON表单
标准化的JData数据注释。

请在网站找到详细的联机帮助http://iso2mesh.sf.net/cgi-bin/index.cgi?jsonlab/Doc

==最新消息==

JSONLab v2.0—代码命名为“Magnus Prime”—是JSONLab和的稳定版本
的稳定、完整的参考实现的一个新的里程碑
JData规范(http://openjdata.org),以方便储存科学资料。

自上一个版本以来,这个版本增加了许多主要的更新
2019年10月发布v1.9.8。主要更改的清单摘要如下
(用*标记的关键特性),包括对' _ArrayShape_ '的支持
高效地编码特殊矩阵,并添加' jsave/jload '进行保存
并在MATLAB/Octave中恢复变量,如“保存/加载”命令(实验性)。

= = = jsave。m = = =

将当前工作区保存到jamdata.jamm
jsave mydata.jamm
jsave(“mydata.jamm”、“var”{‘var1’,‘var2})
jsave(“mydata.jamm”、“压缩”、“lzma”)

= = = jload。m = = =

Jload %从jamdata加载变量。阻塞到当前工作区
jload mydata。阻塞%加载变量
var = jload(“mydata.jamm”、“var”{‘var1’,‘var2})

==其他更新

更改jload和jsave的默认工作空间为调用者
*创建' jdata '和' bjdata ' python模块与MATLAB共享数据
*添加savebj和loadbj专门用于加载和保存bjdata
*添加单元测试脚本,修复在测试单元中发现的问题
*加速fast_match_括号,放弃unicode2native速度
*支持Toeplitz矩阵,使用不区分大小写的比较
*jdatadecode现在处理_ArrayOrder_
*在jsave和saveubjson中添加keeptype选项
*使jsave和jload工作在八度
应用数据压缩到字符串,新的数据类型char
修复loadmsgpack ND数组问题
*添加jsave和jload可移植数据共享
*增加了对_ArrayShape_记录特殊矩阵的支持
*jsonlab兼容matlab R2008
*saveubjson现在实现BJData规范Draft1,https://github.com/fangq/bjdata
*添加UseMap选项以避免键名转换
*减少jsonopt调用以加快编码和解码
*在savejson和saveubjson中启用jdataencode

引用作为

方仟仟(2022)。JSONLab:一个编码/解码JSON文件的工具箱(//www.ru-cchi.com/matlabcentral/fileexchange/33381-jsonlab-a-toolbox-to-encode-decode-json-files), MATLAB中央文件交换。检索

Baidu
map