11
11
12
12
Table of Content:
13
13
14
+ 0. What's New
14
15
I. Introduction
15
16
II. Installation
16
17
III.Using JSONLab
17
18
IV. Known Issues and TODOs
18
19
V. Contribution and feedback
20
+ V. Acknowledgement
21
+
22
+ -------------------------------------------------------------------------------
23
+
24
+ 0. What's New
25
+
26
+ JSONLab v1.9 is the alpha release of the next milestone - code named "Magnus".
27
+ Notable changes are summarized below, key features marked by *:
28
+
29
+ 2019-05-06 [25ad795] unescape string in loadjson.m
30
+ 2019-05-04 [2e317c9] explain extra compression fields
31
+ 2019-05-02 [1b1be65] avoid side effect of removing singletarray
32
+ 2019-05-02*[8360fd1] support zmat based base64 encoding and decoding
33
+ 2019-05-01*[c797bb2] integrating zmat, for zlib/gzip data compression
34
+ 2019-04-29 [70551fe] remove warnings from matlab
35
+ 2019-04-28 [0d61c4b] complete data compression support, close #52
36
+ 2019-04-27 [804115b] avoid typecast error
37
+ 2019-04-27 [c166aa7] change default compressarraysize to 100
38
+ 2019-04-27*[3322f6f] major new feature: support array compression and decompression
39
+ 2019-03-13*[9c01046] support saving function handles, close #51
40
+ 2019-03-13 [a8fde38] add option to parse string array or convert to char, close #50
41
+ 2019-03-12 [ed2645e] treat string array as cell array in newer matlab
42
+ 2018-11-18 [c3eb021] allow saving uint64 integers in saveubjson, fix #49
43
+
44
+ The biggest change in this release, compared to v1.8 released in July 2018,
45
+ is the support of data compression via the 'Compression' option for both
46
+ savejson and saveubjson. Two compression methods are currently supported -
47
+ "zlib" and "gzip". The compression interfaces, zlibencode/zlibdecode/gzipencode/
48
+ gzipdecode are modified from the "Byte Encoding Utilities" by Kota Yamaguchi [1],
49
+ which has built-in support for java-based compression in MATLAB (when jvm is
50
+ enabled). To support Octave, as well as MATLAB in "nojvm" mode, a mex-based
51
+ data compression/encoding toolbox, ZMat [2], written by Qianqian Fang, takes priority
52
+ over the java-based utilities, if installed. For savejson, a 'base64' encoding is
53
+ applied to convert the compressed binary stream into a string; 'base64' encoding
54
+ is not used in saveubjson. The encoding and restoration of the binary matlab arrays
55
+ are automatically handled in save*json/load*json round-trip conversions.
56
+
57
+ To save matlab data with compression, one simply append 'Compression', 'method' pair
58
+ in the savejson/saveubjson call. For example
59
+
60
+ jsonstr=savejson('',mydata,'compression','zlib');
61
+ data=loadjson(jsonstr);
62
+
63
+ In addition, the below features are added to JSONLab
64
+
65
+ * save function handles
66
+ * support saving "string" class in MATLAB
67
+ * fix two bugs in saveubjson
68
+ * unescape strings in loadjson
69
+
70
+
71
+ * [1] https://www.mathworks.com/matlabcentral/fileexchange/39526-byte-encoding-utilities
72
+ * [2] http://github.com/fangq/zmat
19
73
20
74
-------------------------------------------------------------------------------
21
75
@@ -448,6 +502,10 @@ or browsing the github site at
448
502
449
503
https://github.com/fangq/jsonlab
450
504
505
+ Please report any bugs or issues to the below URL:
506
+
507
+ https://github.com/fangq/jsonlab/issues
508
+
451
509
Sometimes, you may find it is necessary to modify JSONLab to achieve your
452
510
goals, or attempt to modify JSONLab functions to fix a bug that you have
453
511
encountered. If you are happy with your changes and willing to share those
@@ -467,6 +525,41 @@ the upstream code.
467
525
We appreciate any suggestions and feedbacks from you. Please use the following
468
526
mailing list to report any questions you may have regarding JSONLab:
469
527
470
- https://groups.google. com/forum/?hl=en#!forum/iso2mesh-users
528
+ https://github. com/fangq/jsonlab/issues
471
529
472
530
(Subscription to the mailing list is needed in order to post messages).
531
+
532
+ -------------------------------------------------------------------------------
533
+
534
+ V. Acknowledgement
535
+
536
+ This toolbox contains modified functions from the below toolboxes:
537
+
538
+ == zlibdecode.m, zlibencode.m, gzipencode.m, gzipdecode.m, base64encode.m, base64decode.m ==
539
+
540
+ * Author: Kota Yamaguchi
541
+ * URL:https://www.mathworks.com/matlabcentral/fileexchange/39526-byte-encoding-utilities
542
+ * License: BSD License, see below
543
+
544
+ Copyright (c) 2012, Kota Yamaguchi
545
+ All rights reserved.
546
+
547
+ Redistribution and use in source and binary forms, with or without
548
+ modification, are permitted provided that the following conditions are met:
549
+
550
+ * Redistributions of source code must retain the above copyright notice, this
551
+ list of conditions and the following disclaimer.
552
+
553
+ * Redistributions in binary form must reproduce the above copyright notice,
554
+ this list of conditions and the following disclaimer in the documentation
555
+ and/or other materials provided with the distribution
556
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
557
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
558
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
559
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
560
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
561
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
562
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
563
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
564
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
565
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
0 commit comments