json VS cyanide

Compare json vs cyanide and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
json cyanide
93 9
40,148 11
- -
7.6 3.2
9 days ago 10 months ago
C++ Elixir
MIT License Apache License 2.0
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.

json

Posts with mentions or reviews of json. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-26.
  • Learn Modern C++
    6 projects | news.ycombinator.com | 26 Dec 2023
    I have not done a "desktop" program in 25+ years and never using C++ (or C), since then I'm mostly a web developer (PHP,Elixir, JS, Kotlin etc).

    I'm currently doing a C++ audio plugin with the Juce framework.

    This website has been a good resource, alongside https://www.learncpp.com

    But I was actually close to give up before using those two things:

    - https://github.com/nlohmann/json : my plugin use a json api backend and the Juce json implementation is atrocious (apparently because of being born in previous c++ version), but this library is GREAT.

    - ChatGPT 4. I'm not sure I would have "succeeded" without it, at least not in a reasonable time frame. ChatGPT 3.5 is slow and does not give good results for my use case but 4 is impressive. And I use in a very dumb way, just posing question in the web UI. I probably could have it directly in MSVC?

    Also I must say, for all its flaws, I have a renewed appreciation for doing UI on the web ;)

  • JSON for Modern C++ 3.11.3 (first release since 473 days)
    1 project | /r/cpp | 30 Nov 2023
  • What C++ library do you wish existed but hasn’t been created yet?
    18 projects | /r/cpp | 8 Jul 2023
    https://github.com/nlohmann/json works well for me
  • [CMake] Can't include external header in .h file
    2 projects | /r/cpp_questions | 8 Jul 2023
    cmake_minimum_required(VERSION 3.15) project(xrpc++ DESCRIPTION "C++ AT Protocol XRPC library" VERSION 1.0.0 LANGUAGES CXX) include(FetchContent) FetchContent_Declare(cpr GIT_REPOSITORY https://github.com/libcpr/cpr.git GIT_TAG 2553fc41450301cd09a9271c8d2c3e0cf3546b73) # The commit hash for 1.10.x. Replace with the latest from: https://github.com/libcpr/cpr/releases FetchContent_MakeAvailable(cpr) FetchContent_Declare(json URL https://github.com/nlohmann/json/releases/download/v3.11.2/json.tar.xz) FetchContent_MakeAvailable(json) add_library(${PROJECT_NAME} SHARED src/lexicon.cpp src/xrpc.cpp ) target_link_libraries(${PROJECT_NAME} PRIVATE cpr::cpr) target_link_libraries(${PROJECT_NAME} PRIVATE nlohmann_json::nlohmann_json) set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION}) set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION 1) target_include_directories(${PROJECT_NAME} PUBLIC include) set(CMAKE_BUILD_TYPE debug)
    2 projects | /r/cpp_questions | 8 Jul 2023
    FetchContent_Declare(json URL https://github.com/nlohmann/json/releases/download/v3.11.2/json.tar.xz) FetchContent_MakeAvailable(json)
  • It is either a clever technique or a sad failure
    1 project | /r/ProgrammerHumor | 14 May 2023
    Here is one popular C++ library (nlohmann/json) removing its use.
  • How to compile project to separate files to prevent having single large executable as a result?
    1 project | /r/cpp_questions | 13 May 2023
    Before going into binary serialization I suggest you to get comfortable with serialization to text. You can try to write your data to text files and read them in again. Then after you get an idea of how this works you can try to use a library that writes to XML or json, e.g. nlohmann json
  • What are some ways I can serialize objects?
    2 projects | /r/cpp_questions | 25 Apr 2023
  • C++ that allows tracking peer to peer multimedia streaming connections using a Flat File - NOT MySql
    1 project | /r/i2p | 14 Apr 2023
    Download the single header file json.hpp from https://github.com/nlohmann/json/releases and place it in your project directory or an include directory.
  • C++ Reflection for Component Serialization and Inspection
    3 projects | /r/gameenginedevs | 4 Mar 2023
    Exemple of a JSON library: https://github.com/nlohmann/json (For XML, there's tinyxml)

cyanide

Posts with mentions or reviews of cyanide. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-03.
  • Would you recommend JSON/CSV/Other for data storage in games?
    1 project | /r/gamedev | 23 Mar 2023
    No, it stands for "Binary JSON".
  • What is MongoDB ?
    2 projects | dev.to | 3 Nov 2022
    BSON specification
  • MUON: Compact and simple binary format, that uses gaps in Unicode encoding for markup
    1 project | /r/Python | 27 Jul 2022
    I recommend looking at https://ubjson.org and https://bsonspec.org , this will answer most of your questions.
  • I need a json file that includes all or most of the data types supported by MongoDB.
    1 project | /r/mongodb | 11 May 2022
    or https://bsonspec.org/
  • Minimizing the size of JSON by using CodingKey
    6 projects | /r/swift | 4 Mar 2022
    BJSON Binary JSON, with a Swift Library here and should be one for your other end
  • Basics of MongoDB
    3 projects | dev.to | 18 Nov 2021
    Starting this tutorial we specified that data in MongoDB is stored in collections. We also specified that in MongoDB we use syntax similar to JSON. That syntax is called "Binary JSON" or BSON. BSON is similar to JSON; but it's more like an encoded serialization of JSON. We can find useful information in the BSON website.
  • It's Time to Retire the CSV
    8 projects | news.ycombinator.com | 18 Aug 2021
    > I'm saying that when you decode an Avro document, the result that comes out (presuming you don't tell the Avro decoder anything special about custom types your runtime supports and how it should map them) is a JSON document.

    Semantic point: it's not a "document".

    There are tools which will decode Avro and output the data in JSON (typically using the JSON encoding of Avro: https://avro.apache.org/docs/current/spec.html#json_encoding), but the ADT that is created is by no means a JSON document. The ADT that is created has more complex semantics than JSON; JSON is not the canonical representation.

    > By which I don't mean JSON-encoded text, but rather an in-memory ADT that has the exact set of types that exist in JSON, no more and no less.

    Except Avro has data types that are not the exact set of types that exist in JSON. The first clue on this might be that the Avro spec includes mappings that list how primitive Avro types are mapped to JSON types.

    > Or, to put that another way, Avro is a way to encode JSON-typed data, just as "JSON text", or https://bsonspec.org/, is a way to encode JSON-typed data

    BSON, by design, was meant to be a more efficient way to encode JSON data, so yes, it is a way to encode JSON-typed data. Avro, however, was not defined as a way to encode JSON data. It was defined as a way to encode data (with a degree of specialization for the case of Hadoop sequence files, where you are generally storing a large number of small records in one file).

    A simple counter example: Avro has a "float" type, which is a 32-bit IEEE 754 floating point number. Neither JSON nor BSON have that type.

    Technically, JSON doesn't really have types, it has values, but even if you pretend that JavaScript's types are JSON's types, there's nothing "canonical" about JavaScript's types for Avro.

    Yes, you can represent JSON data in Avro, and Avro in JSON, much as you can represent data in two different serialization formats. Avro's data model is very much defined independently of JSON's data model (as you'd expect).

  • Sending 😀 in Go
    3 projects | dev.to | 13 Jul 2021
    For me, this exploration started when I was attempting to improve handling of Unicode surrogate pair values in the MongoDB Go driver's Extended JSON unmarshaler. The Extended JSON format is an extension to the standard JSON format that adds type information and allows deterministic conversion to and from BSON.

What are some alternatives?

When comparing json and cyanide you can also consider the following projects:

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

BSONMap - Elixir package that applies a function to each document in a BSON file.

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

naya - A fast streaming JSON parser written in Python

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

json - Strongly typed JSON library for Rust

Boost.PropertyTree - Boost.org property_tree module

ndjson.github.io - Info Website for NDJSON

yaml-cpp - A YAML parser and emitter in C++

csvz - The hot new standard in open databases

cJSON - Ultralightweight JSON parser in ANSI C

Mongoose - MongoDB object modeling designed to work in an asynchronous environment.