38 struct JsonVal jsonParseString(const char *str,
char *errorBuf,
int errorBufSize);
41 struct JsonVal jsonCreateObject();
44 int JsonVal_isString(
const struct JsonVal *val);
45 int JsonVal_isNumber(
const struct JsonVal *val);
46 int JsonVal_isObject(
const struct JsonVal *val);
47 int JsonVal_isArray(
const struct JsonVal *val);
48 int JsonVal_isTrue(
const struct JsonVal *val);
49 int JsonVal_isFalse(
const struct JsonVal *val);
50 int JsonVal_isNull(
const struct JsonVal *val);
53 struct JsonVal *JsonVal_objectAddString(
struct JsonVal *val,
const char *key,
const char *value);
54 struct JsonVal *JsonVal_objectAddNumber(
struct JsonVal *val,
const char *key,
long double number);
55 struct JsonVal *JsonVal_objectAddObject(
struct JsonVal *val,
const char *key);
56 struct JsonVal *JsonVal_objectAddArray(
struct JsonVal *val,
const char *key);
57 struct JsonVal *JsonVal_objectAddTrue(
struct JsonVal *val,
const char *key);
58 struct JsonVal *JsonVal_objectAddFalse(
struct JsonVal *val,
const char *key);
59 struct JsonVal *JsonVal_objectAddNull(
struct JsonVal *val,
const char *key);
61 struct JsonVal *JsonVal_arrayAddString(
struct JsonVal *val,
const char *value);
62 struct JsonVal *JsonVal_arrayAddNumber(
struct JsonVal *val,
long double number);
70 int JsonVal_arrayLen(
struct JsonVal *val);
73 struct JsonVal *JsonVal_getObjectValueByKey(
const struct JsonVal *val,
const char *key);
75 void JsonVal_forEachArrayElement(
78 void (*action)(
void *,
const struct JsonVal *));
80 void JsonVal_forEachObjectElement(
83 void (*action)(
void *,
const char *key,
const struct JsonVal *));
91 int (*writeFunc)(
void *ctx,
void *buf,
int len));
94 int JsonVal_writeString(
const struct JsonVal *val,
char *buf,
int len);
96 void JsonVal_destroy(
struct JsonVal *val);