[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #53100] implement jsondecode, jsonencode funct
From: |
Qianqian Fang |
Subject: |
[Octave-bug-tracker] [bug #53100] implement jsondecode, jsonencode functions |
Date: |
Tue, 4 Jun 2019 15:11:38 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36 |
Follow-up Comment #16, bug #53100 (project octave):
@Andrew. Totally agreed. To match the feature set as in matlab's
jsonencode/decode, I agree it is important for jsonstuff to first provide the
basic data encoding/decoding capabilities.
JSONLab will likely serve for the JData encoder/decoder purposes and let
jsonencode/decode to take care of the stream-level encoding/decoding, given
their speed advantage.
Eventually, MATLAB will likely have to address the issue of serializing
complex data structures (such as complex-valued array, sparse array, graphs
etc), this will likely take many years. You can naturally add those in the
future if Mathworks decides to update jsonencode/decode (and allow any
specification of such serialization to solidify).
I don't have experience with rapidjson or jsoncpp, as I mostly code in C. I
used cjson (https://github.com/DaveGamble/cJSON) which is super-lightweight
and fast enough for most of my codes.
Binary JSON has smaller audiences but in my opinion is more advantageous in
storing scientific data. JSONlab supports UBJSON (http://ubjson.org) and
recently MessagePack (http://msgpack.org). Between the two, I like UBJSON a
lot - it has the two top benefits of JSON - simplicity and readability (yes,
despite it is a binary format, it is surprisingly human-readable). Might be
beneficial to also implement UBJSON native support for Octave. The below
github project provides a simple C encoder/decoder for UBJSON
https://github.com/Steve132/ubj
and I added a N-D array header in my fork.
https://github.com/fangq/ubj
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?53100>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/