shithub: riscv

ref: 1e9bb75854a336de2a63f9a4fb4d67dd75d682f1
dir: /sys/include/json.h/

View raw version
#pragma src "/sys/src/libjson"
#pragma lib "libjson.a"

typedef struct JSONEl JSONEl;
typedef struct JSON JSON;

#pragma varargck type "J" JSON*

enum {
	JSONNull,
	JSONBool,
	JSONNumber,
	JSONString,
	JSONArray,
	JSONObject,
};

struct JSONEl {
	char *name;
	JSON *val;
	JSONEl *next;
};

struct JSON
{
	int t;
	union {
		double n;
		char *s;
		JSONEl *first;
	};
};

JSON*	jsonparse(char *);
void	jsonfree(JSON *);
JSON*	jsonbyname(JSON *, char *);
char*	jsonstr(JSON *);
int	JSONfmt(Fmt*);
void	JSONfmtinstall(void);