JSMN
sketchbook
Our great sponsors
JSMN | sketchbook | |
---|---|---|
14 | 2 | |
3,542 | 48 | |
- | - | |
0.0 | 5.6 | |
about 1 month ago | 3 months ago | |
C | Python | |
MIT License | GNU Affero General Public License v3.0 |
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.
JSMN
-
Building a high performance JSON parser
Like how https://github.com/zserge/jsmn works. I thought it would be neat to have such as parser for https://github.com/vshymanskyy/muon
-
Flattening ASTs (and Other Compiler Data Structures)
One more JSON implementation using this approach is https://github.com/zserge/jsmn.
-
Show HN: WinGPT, AI Assistant for Windows 3.1
Yep! I'm using JSMN (https://github.com/zserge/jsmn), which is a streaming parser that visits each token sequentially, so there's only one copy of each JSON response in memory. I also avoid allocating new intermediate memory whenever possible; for example, to unescape backslashes in the JSON strings, I use a destructive loop that moves the non-backslash characters forward in memory, and truncates the string by moving the null terminator earlier in the string. Not something I'd imagine doing in most environments today, but as you said, it saves a bit of space at the expense of CPU time :)
void DestructivelyUnescapeStr(LPSTR lpInput) {
- A good C library to parse json data
-
Lightweight data serialization/deserialization format
After reviewing several options, I’ve settled on plain old JSON. For parsing, I use https://github.com/zserge/jsmn. For serialization I use https://github.com/rdpoor/jems (disclaimer: I wrote the latter, but others use it as well).
-
jemi: a compact JSON serializer for embedded systems
As mentioned here, it appears that tiny-json is a parser, not a serializer. If you're looking for parsers, I've been very happy with jsmn.
- CJSON – Ultralightweight JSON parser in ANSI C
-
A tiny zero-allocation JSON serializer compatible with C89!
This is my very straight-forward implementation that came to be from the lack of JSON encoding in jsmn:
-
how to build a JSON parser?
I want to know about some simple method, have read jsmn (https://github.com/zserge/jsmn) is there some way to based on middle library?
-
How to parse JSON in C ?
Pretty much any library you decide to use should do the trick. For a fully-featured but still simple to use library I'd recommend cJSON, or if you need something super lightweight, jsmn
sketchbook
We haven't tracked posts mentioning sketchbook yet.
Tracking mentions began in Dec 2020.
What are some alternatives?
cJSON - Ultralightweight JSON parser in ANSI C
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/
Jansson - C library for encoding, decoding and manipulating JSON data
RapidJSON - A fast JSON parser/generator for C++ with both SAX/DOM style API
ArduinoJson - 📟 JSON library for Arduino and embedded C++. Simple and efficient.
json - JSON for Modern C++
yyjson - The fastest JSON library in C
YAJL - A fast streaming JSON parsing library in C.
frozen - JSON parser and generator for C/C++ with scanf/printf like interface. Targeting embedded systems.
JsonCpp - A C++ library for interacting with JSON.
JSON++ - A JSON parser in C++
Boost.PropertyTree - Boost.org property_tree module