rxi/sj.h
rxi/sj.h has 1,553 GitHub stars and 46 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-07 04:58 UTC. Last push 2025-09-21.
A tiny little JSON parsing library
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalsj.h
A tiny little JSON parsing library
- ~150 lines of C99
- Zero-allocations with minimal state
- Error messages with
line:column:location - No number parsing:
strtod,atoi? Handle them how you want - No string parsing: bring your own unicode surrogate pair handling (or don't)
Usage
A small program to load a rectangle from a JSON string into a Rect struct:
char *json_text = "{ \"x\": 10, \"y\": 20, \"w\": 30, \"h\": 40 }";
typedef struct { int x, y, w, h; } Rect;
bool eq(sj_Value val, char *s) {
size_t len = val.end - val.start;
return strlen(s) == len && !memcmp(s, val.start, len);
}
int main(void) {
Rect rect = {0};
sj_Reader r = sj_reader(json_text, strlen(json_text));
sj_Value obj = sj_read(&r);
sj_Value key, val;
while (sj_iter_object(&r, obj, &key, &val)) {
if (eq(key, "x")) { rect.x = atoi(val.start); }
if (eq(key, "y")) { rect.y = atoi(val.start); }
if (eq(key, "w")) { rect.w = atoi(val.start); }
if (eq(key, "h")) { rect.h = atoi(val.start); }
}
printf("rect: { %d, %d, %d, %d }\n", rect.x, rect.y, rect.w, rect.h);
return 0;
}
See the demo folder for further usage examples.
License
This is free and unencumbered software released into the public domain. See LICENSE for details.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,491 starspublic-apis/public-apis
A collective list of free APIs
496,795 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
438,548 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,088 stars