Nilorea Library
C utilities for networking, threading, graphics
Loading...
Searching...
No Matches
n_json.h File Reference

Small public JSON helper, a thin wrapper over the vendored cJSON. More...

#include <stddef.h>
+ Include dependency graph for n_json.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct N_JSON N_JSON
 Opaque JSON node (a cJSON node under the hood).
 

Functions

N_JSONn_json_array_at (const N_JSON *arr, size_t i)
 Get an array element by index.
 
size_t n_json_array_size (const N_JSON *arr)
 Number of elements in an array node.
 
const char * n_json_as_string (const N_JSON *v, const char *dflt)
 Get the string value of a node itself (e.g.
 
int n_json_bool (const N_JSON *obj, const char *key, int dflt)
 Get a boolean member, or a default when absent/not a boolean.
 
void n_json_free (N_JSON **root)
 Free a JSON tree and NULL the caller's pointer.
 
N_JSONn_json_get (const N_JSON *obj, const char *key)
 Get a child member of an object by key (case-sensitive).
 
long n_json_int (const N_JSON *obj, const char *key, long dflt)
 Get a numeric member as a long, or a default when absent/not a number.
 
int n_json_is_array (const N_JSON *v)
 Report whether a node is a JSON array.
 
int n_json_is_object (const N_JSON *v)
 Report whether a node is a JSON object.
 
N_JSONn_json_parse (const char *text)
 Parse a JSON document from a NUL-terminated string.
 
N_JSONn_json_parse_file (const char *path)
 Parse a JSON document from a file.
 
const char * n_json_string (const N_JSON *obj, const char *key, const char *dflt)
 Get a string member, or a default when absent/not a string.
 
char * n_json_string_dup (const N_JSON *obj, const char *key)
 Duplicate a string member (caller frees), or NULL when absent.
 

Detailed Description

Small public JSON helper, a thin wrapper over the vendored cJSON.

Hides cJSON behind an opaque N_JSON node and the handful of accessors that consumers repeat: parse a string or a file, walk objects/arrays, and pull typed values by key with a default. Build with -DHAVE_CJSON; without it the functions are present but return NULL/defaults and log an error.

Author
Castagnier Mickael
Version
1.0
Date
2024

Definition in file n_json.h.