11#include "ytKeyValues.h"
16#define ytJSON_OPT_HYPHEN_BREAK
18#define ytJSON_OPT_HYPHEN_BREAK 0x00000001
24#define ytJSON_OPT_FORMAT
26#define ytJSON_OPT_FORMAT 0x00000001
32ytObject * ytJSON_parseStr(
const char * str);
33ytObject * ytJSON_parse(FILE * fp,
int opt);
34void ytJSON_print(FILE * fp,
const ytObject * obj,
int opt);
35void ytJSON_printDouble(FILE * fp,
double v);
40typedef struct ytJSON_SP_t {
48ytJSON_SP * ytJSON_SP_new(FILE * fp,
int readable);
49void ytJSON_SP_delete(ytJSON_SP * work);
51void ytJSON_SP_beginObject(ytJSON_SP * work);
52void ytJSON_SP_endObject(ytJSON_SP * work);
54void ytJSON_SP_beginArray(ytJSON_SP * work);
55void ytJSON_SP_endArray(ytJSON_SP * work);
57void ytJSON_SP_putStr(ytJSON_SP * work,
const char * key,
const char * value);
58void ytJSON_SP_putInt(ytJSON_SP * work,
const char * key,
int value);
59void ytJSON_SP_putDouble(ytJSON_SP * work,
const char * name,
double value);
60void ytJSON_SP_putBool(ytJSON_SP * work,
const char * key,
int value);
61void ytJSON_SP_putObject(ytJSON_SP * work,
const char * key);
62void ytJSON_SP_putArray(ytJSON_SP * work,
const char * key);
63void ytJSON_SP_putIntArray(ytJSON_SP * work,
const char * name,
const ytIntArray * value);
64void ytJSON_SP_putDoubleArray(ytJSON_SP * work,
const char * name,
const ytDoubleArray * value);
65void ytJSON_SP_putStrArray(ytJSON_SP * work,
const char * name,
const ytStrArray * value);
67int ytJSON_test(
int argc,
char * argv[]);
68void ytJSON_debug(
int argc,
char * argv[]);