29#include <mstdlib/base/m_defs.h>
30#include <mstdlib/base/m_types.h>
31#include <mstdlib/base/m_list_str.h>
32#include <mstdlib/base/m_fs.h>
Definition: m_decimal.h:78
M_fs_error_t
Definition: m_fs.h:154
M_bool M_json_array_insert_string(M_json_node_t *node, const char *value)
M_bool M_json_array_insert(M_json_node_t *node, M_json_node_t *value)
void M_json_node_destroy(M_json_node_t *node) M_FREE(1)
M_bool M_json_set_decimal(M_json_node_t *node, const M_decimal_t *value)
char * M_json_get_value_dup(const M_json_node_t *node)
M_bool M_json_set_null(M_json_node_t *node)
M_bool M_json_object_insert(M_json_node_t *node, const char *key, M_json_node_t *value)
M_bool M_json_object_insert_bool(M_json_node_t *node, const char *key, M_bool value)
M_json_node_t * M_json_object_value(const M_json_node_t *node, const char *key)
M_bool M_json_object_value_bool(const M_json_node_t *node, const char *key)
const char * M_json_object_value_string(const M_json_node_t *node, const char *key)
M_bool M_json_set_bool(M_json_node_t *node, M_bool value)
M_int64 M_json_object_value_int(const M_json_node_t *node, const char *key)
M_int64 M_json_get_int(const M_json_node_t *node)
M_list_str_t * M_json_object_keys(const M_json_node_t *node)
M_bool M_json_object_insert_string(M_json_node_t *node, const char *key, const char *value)
M_bool M_json_get_bool(const M_json_node_t *node)
M_json_reader_flags_t
Definition: m_json.h:114
M_bool M_json_array_insert_at_int(M_json_node_t *node, M_int64 value, size_t idx)
M_json_node_t * M_json_array_at(const M_json_node_t *node, size_t idx)
size_t M_json_object_num_children(const M_json_node_t *node)
M_bool M_json_object_insert_decimal(M_json_node_t *node, const char *key, const M_decimal_t *value)
M_json_type_t
Definition: m_json.h:101
M_bool M_json_array_insert_at(M_json_node_t *node, M_json_node_t *value, size_t idx)
M_json_writer_flags_t
Definition: m_json.h:133
M_bool M_json_array_at_bool(const M_json_node_t *node, size_t idx)
M_json_node_t * M_json_read(const char *data, size_t data_len, M_uint32 flags, size_t *processed_len, M_json_error_t *error, size_t *error_line, size_t *error_pos) M_MALLOC
M_bool M_json_array_insert_decimal(M_json_node_t *node, const M_decimal_t *value)
M_json_node_t * M_json_get_parent(const M_json_node_t *node)
struct M_json_node M_json_node_t
Definition: m_json.h:95
M_bool M_json_array_insert_at_bool(M_json_node_t *node, M_bool value, size_t idx)
M_bool M_json_set_int(M_json_node_t *node, M_int64 value)
M_int64 M_json_array_at_int(const M_json_node_t *node, size_t idx)
M_bool M_json_array_insert_at_decimal(M_json_node_t *node, const M_decimal_t *value, size_t idx)
const char * M_json_get_string(const M_json_node_t *node)
M_bool M_json_array_insert_bool(M_json_node_t *node, M_bool value)
M_bool M_json_array_insert_at_string(M_json_node_t *node, const char *value, size_t idx)
M_json_node_t * M_json_read_file(const char *path, M_uint32 flags, size_t max_read, M_json_error_t *error, size_t *error_line, size_t *error_pos) M_MALLOC
M_json_error_t
Definition: m_json.h:148
M_json_node_t * M_json_node_create(M_json_type_t type) M_MALLOC
void M_json_take_from_parent(M_json_node_t *node)
const M_decimal_t * M_json_object_value_decimal(const M_json_node_t *node, const char *key)
const M_decimal_t * M_json_get_decimal(const M_json_node_t *node)
const char * M_json_array_at_string(const M_json_node_t *node, size_t idx)
const M_decimal_t * M_json_array_at_decimal(const M_json_node_t *node, size_t idx)
M_bool M_json_object_insert_int(M_json_node_t *node, const char *key, M_int64 value)
M_json_type_t M_json_node_type(const M_json_node_t *node)
size_t M_json_array_len(const M_json_node_t *node)
M_bool M_json_array_insert_int(M_json_node_t *node, M_int64 value)
M_fs_error_t M_json_write_file(const M_json_node_t *node, const char *path, M_uint32 flags)
M_bool M_json_get_value(const M_json_node_t *node, char *buf, size_t buf_len)
M_json_node_t ** M_json_jsonpath(const M_json_node_t *node, const char *search, size_t *num_matches) M_MALLOC
char * M_json_write(const M_json_node_t *node, M_uint32 flags, size_t *len) M_WARN_UNUSED_RESULT M_MALLOC
const char * M_json_errcode_to_str(M_json_error_t err)
M_bool M_json_set_string(M_json_node_t *node, const char *value)
@ M_JSON_READER_DISALLOW_COMMENTS
Definition: m_json.h:119
@ M_JSON_READER_ALLOW_DECIMAL_TRUNCATION
Definition: m_json.h:117
@ M_JSON_READER_REPLACE_BAD_CHARS
Definition: m_json.h:128
@ M_JSON_READER_DONT_DECODE_UNICODE
Definition: m_json.h:124
@ M_JSON_READER_OBJECT_UNIQUE_KEYS
Definition: m_json.h:120
@ M_JSON_READER_NONE
Definition: m_json.h:115
@ M_JSON_TYPE_OBJECT
Definition: m_json.h:103
@ M_JSON_TYPE_STRING
Definition: m_json.h:105
@ M_JSON_TYPE_BOOL
Definition: m_json.h:108
@ M_JSON_TYPE_DECIMAL
Definition: m_json.h:107
@ M_JSON_TYPE_UNKNOWN
Definition: m_json.h:102
@ M_JSON_TYPE_NULL
Definition: m_json.h:109
@ M_JSON_TYPE_ARRAY
Definition: m_json.h:104
@ M_JSON_TYPE_INTEGER
Definition: m_json.h:106
@ M_JSON_WRITER_PRETTYPRINT_TAB
Definition: m_json.h:136
@ M_JSON_WRITER_DONT_ENCODE_UNICODE
Definition: m_json.h:139
@ M_JSON_WRITER_PRETTYPRINT_WINLINEEND
Definition: m_json.h:137
@ M_JSON_WRITER_PRETTYPRINT_SPACE
Definition: m_json.h:135
@ M_JSON_WRITER_REPLACE_BAD_CHARS
Definition: m_json.h:141
@ M_JSON_WRITER_NUMBER_NOCOMPAT
Definition: m_json.h:142
@ M_JSON_WRITER_NONE
Definition: m_json.h:134
@ M_JSON_ERROR_INVALID_UNICODE_ESACPE
Definition: m_json.h:166
@ M_JSON_ERROR_UNCLOSED_STRING
Definition: m_json.h:168
@ M_JSON_ERROR_SUCCESS
Definition: m_json.h:149
@ M_JSON_ERROR_INVALID_IDENTIFIER
Definition: m_json.h:173
@ M_JSON_ERROR_EXPECTED_VALUE
Definition: m_json.h:160
@ M_JSON_ERROR_EXPECTED_END
Definition: m_json.h:153
@ M_JSON_ERROR_INVALID_START
Definition: m_json.h:152
@ M_JSON_ERROR_UNEXPECTED_END
Definition: m_json.h:174
@ M_JSON_ERROR_UNCLOSED_ARRAY
Definition: m_json.h:163
@ M_JSON_ERROR_INVALID_BOOL
Definition: m_json.h:169
@ M_JSON_ERROR_INVALID_PAIR_START
Definition: m_json.h:156
@ M_JSON_ERROR_UNEXPECTED_TERMINATION
Definition: m_json.h:172
@ M_JSON_ERROR_OBJECT_UNEXPECTED_CHAR
Definition: m_json.h:159
@ M_JSON_ERROR_MISSING_PAIR_SEPARATOR
Definition: m_json.h:158
@ M_JSON_ERROR_MISSING_COMMENT_CLOSE
Definition: m_json.h:154
@ M_JSON_ERROR_INVALID_NUMBER
Definition: m_json.h:171
@ M_JSON_ERROR_UNCLOSED_OBJECT
Definition: m_json.h:161
@ M_JSON_ERROR_INVALID_NULL
Definition: m_json.h:170
@ M_JSON_ERROR_MISUSE
Definition: m_json.h:151
@ M_JSON_ERROR_UNEXPECTED_CONTROL_CHAR
Definition: m_json.h:165
@ M_JSON_ERROR_UNEXPECTED_COMMENT_START
Definition: m_json.h:155
@ M_JSON_ERROR_UNEXPECTED_ESCAPE
Definition: m_json.h:167
@ M_JSON_ERROR_GENERIC
Definition: m_json.h:150
@ M_JSON_ERROR_DUPLICATE_KEY
Definition: m_json.h:157
@ M_JSON_ERROR_UNEXPECTED_NEWLINE
Definition: m_json.h:164
@ M_JSON_ERROR_ARRAY_UNEXPECTED_CHAR
Definition: m_json.h:162
struct M_list_str M_list_str_t
Definition: m_list_str.h:80