[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/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [task #15895] JSON support,
Mohammad Akhlaghi <=