mirror of
https://github.com/cesanta/mongoose.git
synced 2024-11-27 20:59:00 +08:00
25 lines
986 B
C
25 lines
986 B
C
#pragma once
|
|
|
|
#include "arch.h"
|
|
#include "str.h"
|
|
|
|
#ifndef MG_JSON_MAX_DEPTH
|
|
#define MG_JSON_MAX_DEPTH 30
|
|
#endif
|
|
|
|
// Error return values - negative. Successful returns are >= 0
|
|
enum { MG_JSON_TOO_DEEP = -1, MG_JSON_INVALID = -2, MG_JSON_NOT_FOUND = -3 };
|
|
int mg_json_get(struct mg_str json, const char *path, int *toklen);
|
|
|
|
struct mg_str mg_json_get_tok(struct mg_str json, const char *path);
|
|
bool mg_json_get_num(struct mg_str json, const char *path, double *v);
|
|
bool mg_json_get_bool(struct mg_str json, const char *path, bool *v);
|
|
long mg_json_get_long(struct mg_str json, const char *path, long dflt);
|
|
char *mg_json_get_str(struct mg_str json, const char *path);
|
|
char *mg_json_get_hex(struct mg_str json, const char *path, int *len);
|
|
char *mg_json_get_b64(struct mg_str json, const char *path, int *len);
|
|
|
|
bool mg_json_unescape(struct mg_str str, char *buf, size_t len);
|
|
size_t mg_json_next(struct mg_str obj, size_t ofs, struct mg_str *key,
|
|
struct mg_str *val);
|