GRASS 8 Programmer's Manual  8.5.0dev(2025)-cc6d092eb4
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 
14 extern JSON_Object *G_json_object(const JSON_Value *);
15 extern JSON_Object *G_json_object_get_object(const JSON_Object *, const char *);
16 extern JSON_Array *G_json_object_get_array(const JSON_Object *, const char *);
17 extern JSON_Value *G_json_object_get_value(const JSON_Object *, const char *);
18 extern const char *G_json_object_get_string(const JSON_Object *, const char *);
19 extern double G_json_object_get_number(const JSON_Object *, const char *);
20 extern int G_json_object_get_boolean(const JSON_Object *, const char *);
22 
23 extern JSON_Status G_json_object_set_value(JSON_Object *, const char *,
24  JSON_Value *);
25 extern JSON_Status G_json_object_set_string(JSON_Object *, const char *,
26  const char *);
27 extern JSON_Status G_json_object_set_number(JSON_Object *, const char *,
28  double);
29 extern JSON_Status G_json_object_set_boolean(JSON_Object *, const char *, int);
30 extern JSON_Status G_json_object_set_null(JSON_Object *, const char *);
31 
33  const char *);
34 extern const char *G_json_object_dotget_string(JSON_Object *, const char *);
36  double);
37 extern double G_json_object_dotget_number(JSON_Object *, const char *);
38 
39 extern JSON_Array *G_json_array(const JSON_Value *);
40 extern JSON_Value *G_json_array_get_value(const JSON_Array *, size_t);
41 extern const char *G_json_array_get_string(const JSON_Array *, size_t);
42 extern double G_json_array_get_number(const JSON_Array *, size_t);
43 extern int G_json_array_get_boolean(const JSON_Array *, size_t);
44 
46 extern JSON_Status G_json_array_append_string(JSON_Array *, const char *);
50 
51 extern char *G_json_serialize_to_string_pretty(const JSON_Value *);
52 extern void G_json_free_serialized_string(char *);
53 extern void G_json_value_free(JSON_Value *);
54 
55 #endif /* GRASS_GJSON_H */
JSON_Value * G_json_array_get_value(const JSON_Array *, size_t)
Definition: gjson.c:119
JSON_Array * G_json_array(const JSON_Value *)
Definition: gjson.c:115
void G_json_value_free(JSON_Value *)
Definition: gjson.c:170
JSON_Value * G_json_object_get_value(const JSON_Object *, const char *)
Definition: gjson.c:52
int G_json_array_get_boolean(const JSON_Array *, size_t)
Definition: gjson.c:131
JSON_Array * G_json_object_get_array(const JSON_Object *, const char *)
Definition: gjson.c:48
JSON_Status G_json_object_set_null(JSON_Object *, const char *)
Definition: gjson.c:93
const char * G_json_object_get_string(const JSON_Object *, const char *)
Definition: gjson.c:56
JSON_Status G_json_object_set_string(JSON_Object *, const char *, const char *)
Definition: gjson.c:78
JSON_Status G_json_array_append_string(JSON_Array *, const char *)
Definition: gjson.c:141
JSON_Status G_json_array_append_boolean(JSON_Array *, int)
Definition: gjson.c:151
char * G_json_serialize_to_string_pretty(const JSON_Value *)
Definition: gjson.c:161
JSON_Value * G_json_object_get_wrapping_value(const JSON_Object *)
Definition: gjson.c:69
JSON_Status G_json_object_dotset_number(JSON_Object *, const char *, double)
Definition: gjson.c:106
const char * G_json_array_get_string(const JSON_Array *, size_t)
Definition: gjson.c:123
JSON_Status G_json_array_append_value(JSON_Array *, JSON_Value *)
Definition: gjson.c:136
JSON_Status G_json_array_append_null(JSON_Array *)
Definition: gjson.c:156
JSON_Status G_json_object_set_value(JSON_Object *, const char *, JSON_Value *)
Definition: gjson.c:73
JSON_Status G_json_array_append_number(JSON_Array *, double)
Definition: gjson.c:146
JSON_Status G_json_object_set_boolean(JSON_Object *, const char *, int)
Definition: gjson.c:88
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:34
JSON_Object * G_json_object_get_object(const JSON_Object *, const char *)
Definition: gjson.c:43
double G_json_object_dotget_number(JSON_Object *, const char *)
Definition: gjson.c:111
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:65
const char * G_json_object_dotget_string(JSON_Object *, const char *)
Definition: gjson.c:102
void G_json_free_serialized_string(char *)
Definition: gjson.c:166
JSON_Status G_json_object_dotset_string(JSON_Object *, const char *, const char *)
Definition: gjson.c:97
JSON_Status G_json_object_set_number(JSON_Object *, const char *, double)
Definition: gjson.c:83
double G_json_object_get_number(const JSON_Object *, const char *)
Definition: gjson.c:61
JSON_Object * G_json_object(const JSON_Value *)
Definition: gjson.c:39
double G_json_array_get_number(const JSON_Array *, size_t)
Definition: gjson.c:127
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