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/ (by json-c)

Stats

Basic json-c repo stats
2
2,124
6.8
7 days ago

json-c/json-c is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.

Json-c Alternatives

Similar projects and alternatives to json-c

  • GitHub repo subsurface

    This is the official upstream of the Subsurface divelog program

  • GitHub repo go

    The Go programming language

  • GitHub repo c2rust

    Migrate C code to Rust

  • GitHub repo glibc

    Unofficial mirror of sourceware glibc repository. Updated daily.

  • GitHub repo rapidyaml

    Rapid YAML - a library to parse and emit YAML, and do it fast.

  • GitHub repo FOMOSv2-CL

    FOMOS stands for: Free, Open source, Mobile, Operating, System.

  • GitHub repo degasolv

    Democratize dependency management.

NOTE: The number of mentions on this list indicates mentions on common posts. Hence, a higher number means a better json-c alternative or higher similarity.

Posts

Posts where json-c has been mentioned. We have used some of these posts to build our list of alternatives and similar projects - the last one was on 2021-03-23.
  • I suck at writing programs using functions. Any resources?
  • Linus Torvalds on where Rust will fit into Linux
    reddit.com/r/rust | 2021-03-23
  • How a Bad Random Number Generator Froze Sway (2020)
    news.ycombinator.com | 2021-03-15
    It seems json-c uses a random number generator to get a seed that it then uses for string hashing. This is one way of protecting yourself against hash denial-of-service attacks.

    https://github.com/json-c/json-c/blob/df27756491abf9ecce648c...

    news.ycombinator.com | 2021-03-15
    > [...] there's no guarantee that RDRAND won't revert to the -1 behavior after the check runs, perhaps after a VM migration or resume from suspend or what-not.

    Author here. This is true and is an issue with some CPUs (breaking RDRAND after resume), but every call to RDRAND is guarded[1] by a check that it works.

    [1]: https://github.com/json-c/json-c/blob/041cef434afe0d0c6da8b6...

    news.ycombinator.com | 2021-03-15
  • Parsing can become accidentally quadratic because of sscanf
    news.ycombinator.com | 2021-03-01
    I 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...