JSON data types. More...
Data Structures |
|
struct | gos_json_tok_t |
Parse JSON token.
More...
|
|
struct | gos_json_parse_config_t |
JSON parser configuration.
More...
|
|
Typedefs |
|
typedef void * | gos_json_parse_context_t |
Context of JSON parsing.
|
|
typedef gos_result_t (* | gos_json_parse_reader_t ) (void *user, void *data, uint32_t max_length, uint32_t *bytes_read) |
Reader callback.
More...
|
|
typedef gos_result_t (* | gos_json_token_callback_t ) (void *user, gos_json_parse_context_t *context, gos_json_tok_t *tok) |
Allocate token callback.
More...
|
|
Enumerations |
|
enum |
gos_json_type_t
{
GOS_JSON_TYPE_ARRAY , GOS_JSON_TYPE_OBJECT , GOS_JSON_TYPE_STRING , GOS_JSON_TYPE_BOOLEAN , GOS_JSON_TYPE_INTEGER , GOS_JSON_TYPE_INTEGER64 , GOS_JSON_TYPE_FLOAT , GOS_JSON_TYPE_NULL } |
JSON token type.
More...
|
|
enum | gos_json_parse_flag_t { JSON_FLAG_STRINGS_INLINE = (1 << 0) } |
Detailed Description
JSON data types.
Typedef Documentation
◆ gos_json_parse_reader_t
typedef gos_result_t (* gos_json_parse_reader_t) (void *user, void *data, uint32_t max_length, uint32_t *bytes_read) |
Reader callback.
This is an optional callback that is called to read more JSON formatted data.
If there is no more data to be read, set bytes_read to 0 which tells the parser to stop calling this callback.
- Parameters
-
user
Optional pointer to user data, passed to gos_json_parse_chunked() , leave NULL if unused data
Buffer to hold read data max_length
Length of given buffer bytes_read
Number of bytes actually read, set to 0 if no more data available
- Returns
- gos_result_t result of api call
◆ gos_json_token_callback_t
typedef gos_result_t (* gos_json_token_callback_t) (void *user, gos_json_parse_context_t *context, gos_json_tok_t *tok) |
Allocate token callback.
This is called before every token is allocated. This callback should return GOS_SUCCESS if the token should be allocated, GOS_ABORTED if the token should NOT be allocated, anything else will cause the parser to fail.
- Parameters
-
user
Optional pointer to user data, passed to gos_json_parse_chunked() , leave NULL if unused context
Parser context pointer tok
The token that may be allocated
- Returns
- GOS_SUCCESS if token should be allocated, GOS_ABORTED if token should NOT be allocated, anything else is a failure
Enumeration Type Documentation
◆ gos_json_parse_flag_t
◆ gos_json_type_t
enum gos_json_type_t |
JSON token type.
See this tutorial for more info.