json
Jansson
Our great sponsors
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
-
Learn Modern C++
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 ;)
-
What C++ library do you wish existed but hasn’t been created yet?
https://github.com/nlohmann/json works well for me
-
[CMake] Can't include external header in .h file
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)
FetchContent_Declare(json URL https://github.com/nlohmann/json/releases/download/v3.11.2/json.tar.xz) FetchContent_MakeAvailable(json)
- What are some ways I can serialize objects?
-
C++ Reflection for Component Serialization and Inspection
Exemple of a JSON library: https://github.com/nlohmann/json (For XML, there's tinyxml)
-
How to convert a json file to CSV ?
https://github.com/nlohmann/json and https://github.com/d99kris/rapidcsv are single header file include libs
- PocketPy: A Lightweight(~5000 LOC) Python Implementation in C++17
-
A small open source library Open AI C++
Looks like this makes a json string with https://github.com/nlohmann/json then uses libcurl to send it to a URL using an API key that has to be in an environment variable.
-
C++ Packages for a custom Game Engine - That One Game Dev
I would add an honorable mention for Niels Lohmann's Json library. It is less performant than RapidJSON, but it easier to use and integrate imo. If JSON based IO isn't a hot path in your game, this lib will likely be easier to use.
Jansson
-
A good C library to parse json data
I'm a fan of jansson easy to use and great documentation
-
jemi: a compact JSON serializer for embedded systems
Context: I needed to emit rather complex compound JSON data for a C-based project I'm working on. I could do it all with sprintf(), but it got messy quickly. I looked at available libraries such as jansson and CCAN's json, but they both used malloc(), which isn't an option in my case.
-
How can I parse JSON with C?
I find jansson quite usable and minimal: https://github.com/akheron/jansson
-
How I cut GTA Online loading times by 70%
I don't see why something like Jansson wouldn't.
-
C Deep
Jansson - Library for encoding, decoding and manipulating JSON. MIT
What are some alternatives?
RapidJSON - A fast JSON parser/generator for C++ with both SAX/DOM style API
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/
cJSON - Ultralightweight JSON parser in ANSI C
JsonCpp - A C++ library for interacting with JSON.
ArduinoJson - 📟 JSON library for Arduino and embedded C++. Simple and efficient.
Boost.PropertyTree - Boost.org property_tree module
yaml-cpp - A YAML parser and emitter in C++
json11
libjson - a JSON parser and printer library in C. easy to integrate with any model.
ujson