gnuastro-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[task #15895] JSON support


From: Mohammad Akhlaghi
Subject: [task #15895] JSON support
Date: Sat, 30 Jan 2021 10:27:09 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:85.0) Gecko/20100101 Firefox/85.0

URL:
  <https://savannah.gnu.org/task/?15895>

                 Summary: JSON support 
                 Project: GNU Astronomy Utilities
            Submitted by: makhlaghi
            Submitted on: Sat 30 Jan 2021 03:27:08 PM UTC
         Should Start On: Sat 30 Jan 2021 12:00:00 AM UTC
   Should be Finished on: Sat 30 Jan 2021 12:00:00 AM UTC
                Category: Libraries
                Priority: 5 - Normal
              Item Group: Enhancement
                  Status: Postponed
                 Privacy: Public
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
                  Effort: 0.00

    _______________________________________________________

Details:

JSON is a commonly used format to store metadata or configuration files. For
example some servers (that the Query program is planned to contact) provide
outputs in this format.

One way is to write our own internal parser, but its better to use a good
library. On the main JSON webpage there are a list of libraries for various
languages, including C: https://www.json.org

Unfortunately some (like GNOME's json-glib
<https://gitlab.gnome.org/GNOME/json-glib/>) depend on Python!!! So we need to
find one that doesn't depend on anything beyond ISO C.

I had a fast look at some of them and these seems possible potentials
(although I just looked at their README, and haven't actually looked into the
code at this stage to confirm):

* https://github.com/DaveGamble/cJSON (+1000 commits, C89 dependence, single
source file that can be built within Gnuastro, seems interesting!).

* https://github.com/akheron/jansson (+1000 commits, seems interesting).

* http://lloyd.github.io/yajl (officially claims to only need ANSI C,
permissive license, almost 300 commits, seems like a good choice)

* https://github.com/netmail-open/wjelement (Updated, dependencies not clear
from README, but seems good).

* https://github.com/udp/json-parser (only depending on ANSI C, BSD license,
+130 commits)

* https://github.com/zserge/jsmn (minimalistic, only needing C89).

* https://github.com/mnunberg/jsonsl (re-write of YAJL).

* https://github.com/jehiah/json-c (claims to only need gcc and autotools,
last commit in 2011!)

* https://github.com/douglascrockford/JSON-c (only one commit in 2016).

* https://sourceforge.net/projects/mjson/ (an ISO C parser, but without much
info in main page)

* https://github.com/kgabis/parson (ISO C, +100 commits)

* https://github.com/cesanta/frozen (ISO C)

* https://github.com/cesanta/mjson

* https://github.com/MaJerle/lwjson




    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/task/?15895>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]