/* an action that will be applied to each value in iterate_json(b)_values functions */ typedefvoid (*JsonIterateStringValuesAction) (void *state, char *elem_value, int elem_len);
/* an action that will be applied to each value in transform_json(b)_values functions */ typedef text *(*JsonTransformStringValuesAction) (void *state, char *elem_value, int elem_len);
/* build a JsonLexContext from a text datum; see also freeJsonLexContext */ extern JsonLexContext *makeJsonLexContext(JsonLexContext *lex, text *json, bool need_escapes);
/* try to parse json, and errsave(escontext) on failure */ externbool pg_parse_json_or_errsave(JsonLexContext *lex, const JsonSemAction *sem, struct Node *escontext);
#define pg_parse_json_or_ereport(lex, sem) \
(void) pg_parse_json_or_errsave(lex, sem, NULL)
/* save an error during json lexing or parsing */ externvoid json_errsave_error(JsonParseErrorType error, JsonLexContext *lex, struct Node *escontext);
/* get first JSON token */ extern JsonTokenType json_get_first_token(text *json, bool throw_error);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.