38#ifndef DETERMINISTICESPASYNCWEBSERVER_JSON_H
39#define DETERMINISTICESPASYNCWEBSERVER_JSON_H
74 void key(
const char *k);
76 void str(
const char *v);
81 void raw(
const char *literal);
83 void kv_str(
const char *k,
const char *v);
84 void kv_int(
const char *k,
long v);
85 void kv_uint(
const char *k,
unsigned long v);
86 void kv_bool(
const char *k,
bool v);
88 void kv_raw(
const char *k,
const char *literal);
105 void put_raw(
const char *s);
106 void put_escaped(
const char *s);
108 void push(
char open);
109 void pop(
char close);
134bool json_get_str(
const char *json,
const char *key,
char *out,
size_t out_cap);
140bool json_get_int(
const char *json,
const char *key,
long *out);
146bool json_get_bool(
const char *json,
const char *key,
bool *out);
User-facing configuration for DeterministicESPAsyncWebServer.
#define JSON_MAX_DEPTH
Maximum object/array nesting depth for the JsonWriter (see json.h).
Builds a JSON document into a fixed caller buffer, no heap.
void str(const char *v)
Emit a quoted, escaped string value.
void begin_object()
Open { (as a value/element where applicable).
void key(const char *k)
Emit an object member name ("k":); follow with one value.
void raw(const char *literal)
Emit a pre-formatted literal verbatim.
void kv_bool(const char *k, bool v)
"k":true|false.
void kv_str(const char *k, const char *v)
"k":"v" (escaped).
void boolean(bool v)
Emit true/false.
void integer(long v)
Emit a signed integer value.
void kv_uint(const char *k, unsigned long v)
"k":<uint>.
bool ok() const
< False after any overflow / structural error.
void kv_int(const char *k, long v)
"k":<int>.
void uinteger(unsigned long v)
Emit an unsigned integer value.
void end_object()
Close }.
size_t length() const
< Bytes written so far (excludes the NUL).
void kv_raw(const char *k, const char *literal)
"k":<literal>.
void null_value()
Emit null.
void kv_null(const char *k)
"k":null.
void begin_array()
Open [.
const char * c_str() const
< NUL-terminated output (truncated if !ok()).
bool json_get_str(const char *json, const char *key, char *out, size_t out_cap)
Read a top-level string member from a JSON object body.
bool json_get_bool(const char *json, const char *key, bool *out)
Read a top-level boolean member (true/false) from a JSON object body.
bool json_get_int(const char *json, const char *key, long *out)
Read a top-level integer member from a JSON object body.