Top 21 C JSON Projects
-
cJSON
Ultralightweight JSON parser in ANSI C
-
POCO
The POCO C++ Libraries are powerful cross-platform C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems.
-
Scout
Get performance insights in less than 4 minutes. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
-
gravity
Gravity Programming Language
-
tbox
🎁 A glib-like multi-platform c library
Here's the github page for tbox, which xmake and xrepo rely on: https://github.com/tboox/tbox
-
ultrajson
Ultra fast JSON decoder and encoder written in C with Python bindings
-
Oj
Optimized JSON
-
miller
Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON
-
JSMN
Jsmn is a world fastest JSON parser/tokenizer. This is the official repo replacing the old one at Bitbucket
-
Jansson
C library for encoding, decoding and manipulating JSON data
I don't see why something like Jansson wouldn't.
-
json-c
https://github.com/json-c/json-c is the official code repository for json-c. See the wiki for release tarballs for download. API docs at http://json-c.github.io/json-c/
Project mention: Parsing can become accidentally quadratic because of sscanf | news.ycombinator.com | 2021-03-01I found this while making a collection of what C implementation does what at https://news.ycombinator.com/item?id=26298300 .
There are two basic implementation strategies. The BSD (FreeBSD and OpenBSD and more than likely NetBSD too), Microsoft, GNU, and MUSL C libraries use one, and suffer from this; whereas the OpenWatcom, P.J. Plauger, Tru64 Unix, and my standard C libraries use another, and do not.
The 2002 report in the comp.lang.c Usenet newsgroup (listed in that discussion) is the earliest that I've found so far.
There have been several assertions that library support for strings in C++ is poor. However, note that the fix here was to switch from the Standard C library function sscanf() to a C++ library.
* https://github.com/fastfloat
One might advocate using other people's libraries, on the grounds that they will have got such things right. However, note that this is RapidYAML, and the bug got fixed several years after GTA Online was released. Other third-party parsing libraries have suffered from being layered on top of sscanf() in other ways.
* https://github.com/json-c/json-c/issues/173
* https://github.com/kgabis/parson/commit/96150ba1fd7f3398aa6a...
-
YAJL
A fast streaming JSON parsing library in C.
-
facil.io
Your high performance web application C framework
facil.io - Mini-framework for web applications. Includes a fast HTTP and Websocket server, and also supports custom protocols. MIT
-
LIBUCL
Universal configuration library parser
Project mention: The YAML file of Prometheus Operator has over 13k lines, one of the longest YAML files on GitHub ever | reddit.com/r/programming | 2020-12-26Here you go: https://github.com/vstakhov/libucl
-
json-parser
Very low footprint JSON parser written in portable ANSI C
-
parson
Lightweight JSON library written in C.
Project mention: Parsing can become accidentally quadratic because of sscanf | news.ycombinator.com | 2021-03-01I found this while making a collection of what C implementation does what at https://news.ycombinator.com/item?id=26298300 .
There are two basic implementation strategies. The BSD (FreeBSD and OpenBSD and more than likely NetBSD too), Microsoft, GNU, and MUSL C libraries use one, and suffer from this; whereas the OpenWatcom, P.J. Plauger, Tru64 Unix, and my standard C libraries use another, and do not.
The 2002 report in the comp.lang.c Usenet newsgroup (listed in that discussion) is the earliest that I've found so far.
There have been several assertions that library support for strings in C++ is poor. However, note that the fix here was to switch from the Standard C library function sscanf() to a C++ library.
* https://github.com/fastfloat
One might advocate using other people's libraries, on the grounds that they will have got such things right. However, note that this is RapidYAML, and the bug got fixed several years after GTA Online was released. Other third-party parsing libraries have suffered from being layered on top of sscanf() in other ways.
* https://github.com/json-c/json-c/issues/173
* https://github.com/kgabis/parson/commit/96150ba1fd7f3398aa6a...
-
frozen
JSON parser and generator for C/C++ with scanf/printf like interface. Targeting embedded systems. (by cesanta)
-
OwnTracks Recorder
Store and access data published by OwnTracks apps
-
libjson
a JSON parser and printer library in C. easy to integrate with any model.
-
libxo
The libxo library allows an application to generate text, XML, JSON, and HTML output using a common set of function calls. The application decides at run time which output style should be produced.
Ah, that's interesting, thanks for sharing. Their github README does a nice job of showing how it doesn't add a lot of work: https://github.com/Juniper/libxo
-
ekon
A JSON alternative for sane people. Combination of simplicity & power. Check it out!
I have bookmarked this. Heck even cloned this. I am building https://github.com/Himujjal/ekon as of now. Once the webassembly build is out for EKON, I will put this through the same thing.
-
eja
eja micro web server
I wrote a micro web server named eja which is basically a Lua interpreter with sockets compiled in and an essential Lua library of functions to serve dynamic generated pages and daily console/sysadmin operations, it is on Debian since several years and I personally use it on hundreds of servers for the companies I have been and I still work for. On top of eja I have also wrote Tibula, a mysql/sqlite3 dmbs largely inspired by phpMyAdmin.
Index
What are some of the best open-source JSON projects in C? This list will help you:
Project | Stars | |
---|---|---|
1 | cJSON | 5,529 |
2 | POCO | 5,050 |
3 | gravity | 3,780 |
4 | tbox | 3,543 |
5 | ultrajson | 3,155 |
6 | Oj | 2,694 |
7 | miller | 2,673 |
8 | JSMN | 2,512 |
9 | Jansson | 2,337 |
10 | json-c | 2,084 |
11 | YAJL | 1,979 |
12 | facil.io | 1,380 |
13 | LIBUCL | 1,320 |
14 | json-parser | 1,054 |
15 | parson | 962 |
16 | frozen | 516 |
17 | OwnTracks Recorder | 485 |
18 | libjson | 226 |
19 | libxo | 185 |
20 | ekon | 19 |
21 | eja | 6 |