GRASS 8 Programmer's Manual  8.5.0dev(2025)-34f31bd7be
gjson.h
Go to the documentation of this file.
1 #ifndef GRASS_GJSON_H
2 #define GRASS_GJSON_H
3 
4 #include "parson.h"
5 
6 /* *************************************************************** */
7 /* ***** WRAPPER FOR PARSON FUNCTIONS USED IN GRASS ************** */
8 /* *************************************************************** */
9 
12 
15 extern JSON_Object *G_json_object(const JSON_Value *);
16 extern JSON_Object *G_json_object_get_object(const JSON_Object *, const char *);
17 extern JSON_Array *G_json_object_get_array(const JSON_Object *, const char *);
18 extern JSON_Value *G_json_object_get_value(const JSON_Object *, const char *);
19 extern const char *G_json_object_get_string(const JSON_Object *, const char *);
20 extern double G_json_object_get_number(const JSON_Object *, const char *);
21 extern int G_json_object_get_boolean(const JSON_Object *, const char *);
23 
24 extern JSON_Status G_json_object_set_value(JSON_Object *, const char *,
25  JSON_Value *);
26 extern JSON_Status G_json_object_set_string(JSON_Object *, const char *,
27  const char *);
28 extern JSON_Status G_json_object_set_number(JSON_Object *, const char *,
29  double);
30 extern JSON_Status G_json_object_set_boolean(JSON_Object *, const char *, int);
31 extern JSON_Status G_json_object_set_null(JSON_Object *, const char *);
32 
34  const char *);
35 extern const char *G_json_object_dotget_string(JSON_Object *, const char *);
37  double);
38 extern double G_json_object_dotget_number(JSON_Object *, const char *);
39 
40 extern JSON_Array *G_json_array(const JSON_Value *);
41 extern JSON_Value *G_json_array_get_value(const JSON_Array *, size_t);
42 extern const char *G_json_array_get_string(const JSON_Array *, size_t);
43 extern double G_json_array_get_number(const JSON_Array *, size_t);
44 extern int G_json_array_get_boolean(const JSON_Array *, size_t);
45 
47 extern JSON_Status G_json_array_append_string(JSON_Array *, const char *);
51 
52 extern void G_json_set_float_serialization_format(const char *format);
53 extern char *G_json_serialize_to_string_pretty(const JSON_Value *);
54 extern void G_json_free_serialized_string(char *);
55 extern void G_json_value_free(JSON_Value *);
56 
57 #endif /* GRASS_GJSON_H */
JSON_Value * G_json_array_get_value(const JSON_Array *, size_t)
Definition: gjson.c:124
JSON_Array * G_json_array(const JSON_Value *)
Definition: gjson.c:120
void G_json_value_free(JSON_Value *)
Definition: gjson.c:180
JSON_Value * G_json_object_get_value(const JSON_Object *, const char *)
Definition: gjson.c:57
int G_json_array_get_boolean(const JSON_Array *, size_t)
Definition: gjson.c:136
JSON_Array * G_json_object_get_array(const JSON_Object *, const char *)
Definition: gjson.c:53
JSON_Status G_json_object_set_null(JSON_Object *, const char *)
Definition: gjson.c:98
const char * G_json_object_get_string(const JSON_Object *, const char *)
Definition: gjson.c:61
JSON_Status G_json_object_set_string(JSON_Object *, const char *, const char *)
Definition: gjson.c:83
JSON_Status G_json_array_append_string(JSON_Array *, const char *)
Definition: gjson.c:146
JSON_Value_Type G_json_value_get_type(const JSON_Value *value)
Definition: gjson.c:34
JSON_Status G_json_array_append_boolean(JSON_Array *, int)
Definition: gjson.c:156
char * G_json_serialize_to_string_pretty(const JSON_Value *)
Definition: gjson.c:171
JSON_Value * G_json_object_get_wrapping_value(const JSON_Object *)
Definition: gjson.c:74
JSON_Status G_json_object_dotset_number(JSON_Object *, const char *, double)
Definition: gjson.c:111
const char * G_json_array_get_string(const JSON_Array *, size_t)
Definition: gjson.c:128
JSON_Status G_json_array_append_value(JSON_Array *, JSON_Value *)
Definition: gjson.c:141
JSON_Status G_json_array_append_null(JSON_Array *)
Definition: gjson.c:161
JSON_Status G_json_object_set_value(JSON_Object *, const char *, JSON_Value *)
Definition: gjson.c:78
JSON_Status G_json_array_append_number(JSON_Array *, double)
Definition: gjson.c:151
JSON_Status G_json_object_set_boolean(JSON_Object *, const char *, int)
Definition: gjson.c:93
JSON_Value * G_json_value_init_object(void)
Definition: gjson.c:24
JSON_Object * G_json_value_get_object(const JSON_Value *)
Definition: gjson.c:39
JSON_Object * G_json_object_get_object(const JSON_Object *, const char *)
Definition: gjson.c:48
double G_json_object_dotget_number(JSON_Object *, const char *)
Definition: gjson.c:116
JSON_Value * G_json_value_init_array(void)
Definition: gjson.c:29
int G_json_object_get_boolean(const JSON_Object *, const char *)
Definition: gjson.c:70
const char * G_json_object_dotget_string(JSON_Object *, const char *)
Definition: gjson.c:107
void G_json_free_serialized_string(char *)
Definition: gjson.c:176
JSON_Status G_json_object_dotset_string(JSON_Object *, const char *, const char *)
Definition: gjson.c:102
JSON_Status G_json_object_set_number(JSON_Object *, const char *, double)
Definition: gjson.c:88
void G_json_set_float_serialization_format(const char *format)
Definition: gjson.c:166
double G_json_object_get_number(const JSON_Object *, const char *)
Definition: gjson.c:66
JSON_Object * G_json_object(const JSON_Value *)
Definition: gjson.c:44
double G_json_array_get_number(const JSON_Array *, size_t)
Definition: gjson.c:132
int JSON_Value_Type
Definition: parson.h:58
struct json_array_t JSON_Array
Definition: parson.h:46
int JSON_Status
Definition: parson.h:61
struct json_value_t JSON_Value
Definition: parson.h:47
struct json_object_t JSON_Object
Definition: parson.h:45