cJSON VS sentry-native

Compare cJSON vs sentry-native and see what are their differences.

cJSON

Ultralightweight JSON parser in ANSI C (by DaveGamble)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
cJSON sentry-native
15 2
10,049 363
- 0.8%
5.5 7.8
1 day ago 11 days ago
C C
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

cJSON

Posts with mentions or reviews of cJSON. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-24.

sentry-native

Posts with mentions or reviews of sentry-native. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-11-03.
  • Luau Goes Open-Source
    3 projects | /r/programming | 3 Nov 2021
    I understand what C bindings means - hence my comment about the lowest common denominator. I'm not deeply familiar with the Lua api so I don't feel comfortable commenting on it, but the sentry C api is a prime example. Yes you can use this API from many different languages, including C++, but you end up writing code like this. You almost always lose type safety, RAII, and introduce error prone, verbose code, such as: sentry_value_t debug_crumb = sentry_value_new_breadcrumb("http", "debug crumb"); sentry_value_set_by_key( debug_crumb, "category", sentry_value_new_string("example!")); sentry_value_set_by_key( debug_crumb, "depth", sentry_value_new_int32(11)); sentry_value_set_by_key( debug_crumb, "level", sentry_value_new_string("debug")); sentry_add_breadcrumb(debug_crumb);
  • Goodbye C++, Hello C
    4 projects | news.ycombinator.com | 25 Jun 2021
    > Put another way, I'd rather fix relatively simple C (which also tends to be simpler code in general) than the monsters created by "modern C++" because they thought the "added safety" would mean they could go crazy with the complexity without adding bugs.

    It's completely possible to write C++ code without it being a mess of a template mostrosity and massively overloaded function names. People who write C++ like that would write C filled with macros, void pointers and all the other footguns that C encourages you to use instead.

    I've been working with the sentry-native SDK recently [0] which is a C api. It's full of macros, unclear ownership of pointers (in their callback, _you_ must manually free the random pointer, using the right free method for their type, which isn't type checked), custom functions for working with their types (sentry_free, sentry_free_envelope), opaque data types (everythign is a sentry_value_t created by a custom function - to access the data you have to call the right function not just access the member, and this is a runtime check).

    Compare [1] (their C api example)

    [0] https://github.com/getsentry/sentry-native

What are some alternatives?

When comparing cJSON and sentry-native you can also consider the following projects:

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/

breakpad - Mirror of Google Breakpad project

Jansson - C library for encoding, decoding and manipulating JSON data

GSL - Guidelines Support Library

ArduinoJson - 📟 JSON library for Arduino and embedded C++. Simple and efficient.

score-simple-api-2

JSMN - Jsmn is a world fastest JSON parser/tokenizer. This is the official repo replacing the old one at Bitbucket

tl - The compiler for Teal, a typed dialect of Lua

RapidJSON - A fast JSON parser/generator for C++ with both SAX/DOM style API

CppCoreGuidelines - The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++

JsonCpp - A C++ library for interacting with JSON.

sentry-dart - Sentry SDK for Dart and Flutter