json_struct_action array_end
json_struct_action object_end
json_struct_action object_start
char * prev_token_terminator
void(* json_scalar_action)(void *state, char *token, JsonTokenType tokentype)
json_scalar_action scalar
int json_count_array_elements(JsonLexContext *lex)
void(* json_struct_action)(void *state)
void(* json_ofield_action)(void *state, char *fname, bool isnull)
JsonLexContext * makeJsonLexContext(text *json, bool need_escapes)
JsonLexContext * makeJsonLexContextCstringLen(char *json, int len, bool need_escapes)
json_ofield_action object_field_end
void pg_parse_json(JsonLexContext *lex, JsonSemAction *sem)
json_aelem_action array_element_start
json_struct_action array_start
struct JsonSemAction JsonSemAction
struct JsonLexContext JsonLexContext
json_ofield_action object_field_start
void(* json_aelem_action)(void *state, bool isnull)
bool IsValidJsonNumber(const char *str, int len)
json_aelem_action array_element_end