GRASS GIS 8 Programmer's Manual 8.4.1(2025)-45ca3179ab
Loading...
Searching...
No Matches
parson.c File Reference
#include "parson.h"
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
#include <errno.h>
Include dependency graph for parson.c:

Go to the source code of this file.

Macros

#define PARSON_IMPL_VERSION_MAJOR   1
 
#define PARSON_IMPL_VERSION_MINOR   5
 
#define PARSON_IMPL_VERSION_PATCH   3
 
#define strcpy   USE_MEMCPY_INSTEAD_OF_STRCPY
 
#define STARTING_CAPACITY   16
 
#define MAX_NESTING   2048
 
#define PARSON_DEFAULT_FLOAT_FORMAT    "%1.17g" /* do not increase precision without incresing NUM_BUF_SIZE */
 
#define PARSON_NUM_BUF_SIZE
 
#define PARSON_INDENT_STR   " "
 
#define SIZEOF_TOKEN(a)
 
#define SKIP_CHAR(str)
 
#define SKIP_WHITESPACES(str)
 
#define MAX(a, b)
 
#define IS_NUMBER_INVALID(x)
 
#define OBJECT_INVALID_IX   ((size_t)-1)
 
#define IS_CONT(b)
 
#define PARSON_TRUE   1
 
#define PARSON_FALSE   0
 
#define APPEND_STRING(str)
 
#define APPEND_INDENT(level)
 

Typedefs

typedef int parson_bool_t
 
typedef struct json_string JSON_String
 
typedef union json_value_value JSON_Value_Value
 

Functions

JSON_Valuejson_parse_file (const char *filename)
 
JSON_Valuejson_parse_file_with_comments (const char *filename)
 
JSON_Valuejson_parse_string (const char *string)
 
JSON_Valuejson_parse_string_with_comments (const char *string)
 
JSON_Valuejson_object_get_value (const JSON_Object *object, const char *name)
 
const char * json_object_get_string (const JSON_Object *object, const char *name)
 
size_t json_object_get_string_len (const JSON_Object *object, const char *name)
 
double json_object_get_number (const JSON_Object *object, const char *name)
 
JSON_Objectjson_object_get_object (const JSON_Object *object, const char *name)
 
JSON_Arrayjson_object_get_array (const JSON_Object *object, const char *name)
 
int json_object_get_boolean (const JSON_Object *object, const char *name)
 
JSON_Valuejson_object_dotget_value (const JSON_Object *object, const char *name)
 
const char * json_object_dotget_string (const JSON_Object *object, const char *name)
 
size_t json_object_dotget_string_len (const JSON_Object *object, const char *name)
 
double json_object_dotget_number (const JSON_Object *object, const char *name)
 
JSON_Objectjson_object_dotget_object (const JSON_Object *object, const char *name)
 
JSON_Arrayjson_object_dotget_array (const JSON_Object *object, const char *name)
 
int json_object_dotget_boolean (const JSON_Object *object, const char *name)
 
size_t json_object_get_count (const JSON_Object *object)
 
const char * json_object_get_name (const JSON_Object *object, size_t index)
 
JSON_Valuejson_object_get_value_at (const JSON_Object *object, size_t index)
 
JSON_Valuejson_object_get_wrapping_value (const JSON_Object *object)
 
int json_object_has_value (const JSON_Object *object, const char *name)
 
int json_object_has_value_of_type (const JSON_Object *object, const char *name, JSON_Value_Type type)
 
int json_object_dothas_value (const JSON_Object *object, const char *name)
 
int json_object_dothas_value_of_type (const JSON_Object *object, const char *name, JSON_Value_Type type)
 
JSON_Valuejson_array_get_value (const JSON_Array *array, size_t index)
 
const char * json_array_get_string (const JSON_Array *array, size_t index)
 
size_t json_array_get_string_len (const JSON_Array *array, size_t index)
 
double json_array_get_number (const JSON_Array *array, size_t index)
 
JSON_Objectjson_array_get_object (const JSON_Array *array, size_t index)
 
JSON_Arrayjson_array_get_array (const JSON_Array *array, size_t index)
 
int json_array_get_boolean (const JSON_Array *array, size_t index)
 
size_t json_array_get_count (const JSON_Array *array)
 
JSON_Valuejson_array_get_wrapping_value (const JSON_Array *array)
 
JSON_Value_Type json_value_get_type (const JSON_Value *value)
 
JSON_Objectjson_value_get_object (const JSON_Value *value)
 
JSON_Arrayjson_value_get_array (const JSON_Value *value)
 
const char * json_value_get_string (const JSON_Value *value)
 
size_t json_value_get_string_len (const JSON_Value *value)
 
double json_value_get_number (const JSON_Value *value)
 
int json_value_get_boolean (const JSON_Value *value)
 
JSON_Valuejson_value_get_parent (const JSON_Value *value)
 
void json_value_free (JSON_Value *value)
 
JSON_Valuejson_value_init_object (void)
 
JSON_Valuejson_value_init_array (void)
 
JSON_Valuejson_value_init_string (const char *string)
 
JSON_Valuejson_value_init_string_with_len (const char *string, size_t length)
 
JSON_Valuejson_value_init_number (double number)
 
JSON_Valuejson_value_init_boolean (int boolean)
 
JSON_Valuejson_value_init_null (void)
 
JSON_Valuejson_value_deep_copy (const JSON_Value *value)
 
size_t json_serialization_size (const JSON_Value *value)
 
JSON_Status json_serialize_to_buffer (const JSON_Value *value, char *buf, size_t buf_size_in_bytes)
 
JSON_Status json_serialize_to_file (const JSON_Value *value, const char *filename)
 
char * json_serialize_to_string (const JSON_Value *value)
 
size_t json_serialization_size_pretty (const JSON_Value *value)
 
JSON_Status json_serialize_to_buffer_pretty (const JSON_Value *value, char *buf, size_t buf_size_in_bytes)
 
JSON_Status json_serialize_to_file_pretty (const JSON_Value *value, const char *filename)
 
char * json_serialize_to_string_pretty (const JSON_Value *value)
 
void json_free_serialized_string (char *string)
 
JSON_Status json_array_remove (JSON_Array *array, size_t ix)
 
JSON_Status json_array_replace_value (JSON_Array *array, size_t ix, JSON_Value *value)
 
JSON_Status json_array_replace_string (JSON_Array *array, size_t i, const char *string)
 
JSON_Status json_array_replace_string_with_len (JSON_Array *array, size_t i, const char *string, size_t len)
 
JSON_Status json_array_replace_number (JSON_Array *array, size_t i, double number)
 
JSON_Status json_array_replace_boolean (JSON_Array *array, size_t i, int boolean)
 
JSON_Status json_array_replace_null (JSON_Array *array, size_t i)
 
JSON_Status json_array_clear (JSON_Array *array)
 
JSON_Status json_array_append_value (JSON_Array *array, JSON_Value *value)
 
JSON_Status json_array_append_string (JSON_Array *array, const char *string)
 
JSON_Status json_array_append_string_with_len (JSON_Array *array, const char *string, size_t len)
 
JSON_Status json_array_append_number (JSON_Array *array, double number)
 
JSON_Status json_array_append_boolean (JSON_Array *array, int boolean)
 
JSON_Status json_array_append_null (JSON_Array *array)
 
JSON_Status json_object_set_value (JSON_Object *object, const char *name, JSON_Value *value)
 
JSON_Status json_object_set_string (JSON_Object *object, const char *name, const char *string)
 
JSON_Status json_object_set_string_with_len (JSON_Object *object, const char *name, const char *string, size_t len)
 
JSON_Status json_object_set_number (JSON_Object *object, const char *name, double number)
 
JSON_Status json_object_set_boolean (JSON_Object *object, const char *name, int boolean)
 
JSON_Status json_object_set_null (JSON_Object *object, const char *name)
 
JSON_Status json_object_dotset_value (JSON_Object *object, const char *name, JSON_Value *value)
 
JSON_Status json_object_dotset_string (JSON_Object *object, const char *name, const char *string)
 
JSON_Status json_object_dotset_string_with_len (JSON_Object *object, const char *name, const char *string, size_t len)
 
JSON_Status json_object_dotset_number (JSON_Object *object, const char *name, double number)
 
JSON_Status json_object_dotset_boolean (JSON_Object *object, const char *name, int boolean)
 
JSON_Status json_object_dotset_null (JSON_Object *object, const char *name)
 
JSON_Status json_object_remove (JSON_Object *object, const char *name)
 
JSON_Status json_object_dotremove (JSON_Object *object, const char *name)
 
JSON_Status json_object_clear (JSON_Object *object)
 
JSON_Status json_validate (const JSON_Value *schema, const JSON_Value *value)
 
int json_value_equals (const JSON_Value *a, const JSON_Value *b)
 
JSON_Value_Type json_type (const JSON_Value *value)
 
JSON_Objectjson_object (const JSON_Value *value)
 
JSON_Arrayjson_array (const JSON_Value *value)
 
const char * json_string (const JSON_Value *value)
 
size_t json_string_len (const JSON_Value *value)
 
double json_number (const JSON_Value *value)
 
int json_boolean (const JSON_Value *value)
 
void json_set_allocation_functions (JSON_Malloc_Function malloc_fun, JSON_Free_Function free_fun)
 
void json_set_escape_slashes (int escape_slashes)
 
void json_set_float_serialization_format (const char *format)
 
void json_set_number_serialization_function (JSON_Number_Serialization_Function func)
 

Macro Definition Documentation

◆ APPEND_INDENT

#define APPEND_INDENT ( level)
Value:
do { \
int level_i = 0; \
for (level_i = 0; level_i < (level); level_i++) { \
APPEND_STRING(PARSON_INDENT_STR); \
} \
} while (0)
#define PARSON_INDENT_STR
Definition parson.c:78

Definition at line 1269 of file parson.c.

◆ APPEND_STRING

#define APPEND_STRING ( str)
Value:
do { \
written = SIZEOF_TOKEN((str)); \
if (buf != NULL) { \
memcpy(buf, (str), written); \
buf[written] = '\0'; \
buf += written; \
} \
written_total += written; \
} while (0)
#define NULL
Definition ccmath.h:32
#define SIZEOF_TOKEN(a)
Definition parson.c:81

Definition at line 1258 of file parson.c.

◆ IS_CONT

#define IS_CONT ( b)
Value:
(((unsigned char)(b)&0xC0) == 0x80) /* is utf-8 continuation byte */
double b

Definition at line 110 of file parson.c.

◆ IS_NUMBER_INVALID

#define IS_NUMBER_INVALID ( x)
Value:
(((x)*0.0) != 0.0)
#define x

Definition at line 95 of file parson.c.

Referenced by json_value_init_number().

◆ MAX

#define MAX ( a,
b )
Value:
((a) > (b) ? (a) : (b))

Definition at line 87 of file parson.c.

Referenced by Cairo_Line_width(), Cairo_raster(), kdtree_optimize(), MT_region_data(), quad_get_points(), and SHPOpenLL().

◆ MAX_NESTING

#define MAX_NESTING   2048

Definition at line 65 of file parson.c.

◆ OBJECT_INVALID_IX

#define OBJECT_INVALID_IX   ((size_t)-1)

Definition at line 98 of file parson.c.

Referenced by json_object_clear().

◆ PARSON_DEFAULT_FLOAT_FORMAT

#define PARSON_DEFAULT_FLOAT_FORMAT    "%1.17g" /* do not increase precision without incresing NUM_BUF_SIZE */

Definition at line 68 of file parson.c.

◆ PARSON_FALSE

#define PARSON_FALSE   0

◆ PARSON_IMPL_VERSION_MAJOR

#define PARSON_IMPL_VERSION_MAJOR   1

Definition at line 33 of file parson.c.

◆ PARSON_IMPL_VERSION_MINOR

#define PARSON_IMPL_VERSION_MINOR   5

Definition at line 34 of file parson.c.

◆ PARSON_IMPL_VERSION_PATCH

#define PARSON_IMPL_VERSION_PATCH   3

Definition at line 35 of file parson.c.

◆ PARSON_INDENT_STR

#define PARSON_INDENT_STR   " "

Definition at line 78 of file parson.c.

◆ PARSON_NUM_BUF_SIZE

#define PARSON_NUM_BUF_SIZE
Value:
64 /* double printed with "%1.17g" shouldn't be longer than 25 bytes so \
let's be paranoid and use 64 */

Definition at line 73 of file parson.c.

Referenced by json_serialization_size(), and json_serialization_size_pretty().

◆ PARSON_TRUE

◆ SIZEOF_TOKEN

#define SIZEOF_TOKEN ( a)
Value:
(sizeof(a) - 1)

Definition at line 81 of file parson.c.

◆ SKIP_CHAR

#define SKIP_CHAR ( str)
Value:
((*str)++)

Definition at line 82 of file parson.c.

◆ SKIP_WHITESPACES

#define SKIP_WHITESPACES ( str)
Value:
while (isspace((unsigned char)(**str))) { \
SKIP_CHAR(str); \
}

Definition at line 83 of file parson.c.

◆ STARTING_CAPACITY

#define STARTING_CAPACITY   16

Definition at line 64 of file parson.c.

◆ strcpy

Typedef Documentation

◆ JSON_String

typedef struct json_string JSON_String

◆ JSON_Value_Value

typedef union json_value_value JSON_Value_Value

◆ parson_bool_t

typedef int parson_bool_t

Definition at line 113 of file parson.c.

Function Documentation

◆ json_array()

JSON_Array * json_array ( const JSON_Value * value)

Definition at line 2800 of file parson.c.

References json_value_get_array().

◆ json_array_append_boolean()

JSON_Status json_array_append_boolean ( JSON_Array * array,
int boolean )

◆ json_array_append_null()

JSON_Status json_array_append_null ( JSON_Array * array)

◆ json_array_append_number()

JSON_Status json_array_append_number ( JSON_Array * array,
double number )

◆ json_array_append_string()

JSON_Status json_array_append_string ( JSON_Array * array,
const char * string )

◆ json_array_append_string_with_len()

JSON_Status json_array_append_string_with_len ( JSON_Array * array,
const char * string,
size_t len )

◆ json_array_append_value()

◆ json_array_clear()

JSON_Status json_array_clear ( JSON_Array * array)

◆ json_array_get_array()

JSON_Array * json_array_get_array ( const JSON_Array * array,
size_t index )

Definition at line 1789 of file parson.c.

References json_array_get_value(), and json_value_get_array().

◆ json_array_get_boolean()

int json_array_get_boolean ( const JSON_Array * array,
size_t index )

Definition at line 1794 of file parson.c.

References json_array_get_value(), and json_value_get_boolean().

◆ json_array_get_count()

size_t json_array_get_count ( const JSON_Array * array)

◆ json_array_get_number()

double json_array_get_number ( const JSON_Array * array,
size_t index )

Definition at line 1779 of file parson.c.

References json_array_get_value(), and json_value_get_number().

◆ json_array_get_object()

JSON_Object * json_array_get_object ( const JSON_Array * array,
size_t index )

Definition at line 1784 of file parson.c.

References json_array_get_value(), and json_value_get_object().

◆ json_array_get_string()

const char * json_array_get_string ( const JSON_Array * array,
size_t index )

Definition at line 1769 of file parson.c.

References json_array_get_value(), and json_value_get_string().

◆ json_array_get_string_len()

size_t json_array_get_string_len ( const JSON_Array * array,
size_t index )

Definition at line 1774 of file parson.c.

References json_array_get_value(), and json_value_get_string_len().

◆ json_array_get_value()

◆ json_array_get_wrapping_value()

JSON_Value * json_array_get_wrapping_value ( const JSON_Array * array)

Definition at line 1804 of file parson.c.

References NULL.

Referenced by json_array_replace_value().

◆ json_array_remove()

JSON_Status json_array_remove ( JSON_Array * array,
size_t ix )

◆ json_array_replace_boolean()

JSON_Status json_array_replace_boolean ( JSON_Array * array,
size_t i,
int boolean )

◆ json_array_replace_null()

JSON_Status json_array_replace_null ( JSON_Array * array,
size_t i )

◆ json_array_replace_number()

JSON_Status json_array_replace_number ( JSON_Array * array,
size_t i,
double number )

◆ json_array_replace_string()

JSON_Status json_array_replace_string ( JSON_Array * array,
size_t i,
const char * string )

◆ json_array_replace_string_with_len()

JSON_Status json_array_replace_string_with_len ( JSON_Array * array,
size_t i,
const char * string,
size_t len )

◆ json_array_replace_value()

◆ json_boolean()

int json_boolean ( const JSON_Value * value)

Definition at line 2820 of file parson.c.

References json_value_get_boolean().

◆ json_free_serialized_string()

void json_free_serialized_string ( char * string)

◆ json_number()

double json_number ( const JSON_Value * value)

Definition at line 2815 of file parson.c.

References json_value_get_number().

◆ json_object()

JSON_Object * json_object ( const JSON_Value * value)

Definition at line 2795 of file parson.c.

References json_value_get_object().

◆ json_object_clear()

JSON_Status json_object_clear ( JSON_Object * object)

◆ json_object_dotget_array()

JSON_Array * json_object_dotget_array ( const JSON_Object * object,
const char * name )

Definition at line 1696 of file parson.c.

References json_object_dotget_value(), json_value_get_array(), and name.

◆ json_object_dotget_boolean()

int json_object_dotget_boolean ( const JSON_Object * object,
const char * name )

Definition at line 1702 of file parson.c.

References json_object_dotget_value(), json_value_get_boolean(), and name.

◆ json_object_dotget_number()

double json_object_dotget_number ( const JSON_Object * object,
const char * name )

Definition at line 1685 of file parson.c.

References json_object_dotget_value(), json_value_get_number(), and name.

◆ json_object_dotget_object()

JSON_Object * json_object_dotget_object ( const JSON_Object * object,
const char * name )

Definition at line 1690 of file parson.c.

References json_object_dotget_value(), json_value_get_object(), and name.

◆ json_object_dotget_string()

const char * json_object_dotget_string ( const JSON_Object * object,
const char * name )

Definition at line 1673 of file parson.c.

References json_object_dotget_value(), json_value_get_string(), and name.

◆ json_object_dotget_string_len()

size_t json_object_dotget_string_len ( const JSON_Object * object,
const char * name )

Definition at line 1679 of file parson.c.

References json_object_dotget_value(), json_value_get_string_len(), and name.

◆ json_object_dotget_value()

◆ json_object_dothas_value()

int json_object_dothas_value ( const JSON_Object * object,
const char * name )

Definition at line 1748 of file parson.c.

References json_object_dotget_value(), name, and NULL.

◆ json_object_dothas_value_of_type()

int json_object_dothas_value_of_type ( const JSON_Object * object,
const char * name,
JSON_Value_Type type )

Definition at line 1753 of file parson.c.

References json_object_dotget_value(), json_value_get_type(), name, and NULL.

◆ json_object_dotremove()

JSON_Status json_object_dotremove ( JSON_Object * object,
const char * name )

Definition at line 2630 of file parson.c.

References name, and PARSON_TRUE.

◆ json_object_dotset_boolean()

JSON_Status json_object_dotset_boolean ( JSON_Object * object,
const char * name,
int boolean )

◆ json_object_dotset_null()

JSON_Status json_object_dotset_null ( JSON_Object * object,
const char * name )

◆ json_object_dotset_number()

JSON_Status json_object_dotset_number ( JSON_Object * object,
const char * name,
double number )

◆ json_object_dotset_string()

JSON_Status json_object_dotset_string ( JSON_Object * object,
const char * name,
const char * string )

◆ json_object_dotset_string_with_len()

JSON_Status json_object_dotset_string_with_len ( JSON_Object * object,
const char * name,
const char * string,
size_t len )

◆ json_object_dotset_value()

◆ json_object_get_array()

JSON_Array * json_object_get_array ( const JSON_Object * object,
const char * name )

Definition at line 1651 of file parson.c.

References json_object_get_value(), json_value_get_array(), and name.

◆ json_object_get_boolean()

int json_object_get_boolean ( const JSON_Object * object,
const char * name )

Definition at line 1656 of file parson.c.

References json_object_get_value(), json_value_get_boolean(), and name.

◆ json_object_get_count()

size_t json_object_get_count ( const JSON_Object * object)

◆ json_object_get_name()

const char * json_object_get_name ( const JSON_Object * object,
size_t index )

Definition at line 1712 of file parson.c.

References json_object_get_count(), and NULL.

Referenced by json_validate(), json_value_deep_copy(), and json_value_equals().

◆ json_object_get_number()

double json_object_get_number ( const JSON_Object * object,
const char * name )

Definition at line 1641 of file parson.c.

References json_object_get_value(), json_value_get_number(), and name.

◆ json_object_get_object()

JSON_Object * json_object_get_object ( const JSON_Object * object,
const char * name )

Definition at line 1646 of file parson.c.

References json_object_get_value(), json_value_get_object(), and name.

◆ json_object_get_string()

const char * json_object_get_string ( const JSON_Object * object,
const char * name )

Definition at line 1631 of file parson.c.

References json_object_get_value(), json_value_get_string(), and name.

◆ json_object_get_string_len()

size_t json_object_get_string_len ( const JSON_Object * object,
const char * name )

Definition at line 1636 of file parson.c.

References json_object_get_value(), json_value_get_string_len(), and name.

◆ json_object_get_value()

◆ json_object_get_value_at()

JSON_Value * json_object_get_value_at ( const JSON_Object * object,
size_t index )

Definition at line 1720 of file parson.c.

References json_object_get_count(), and NULL.

◆ json_object_get_wrapping_value()

JSON_Value * json_object_get_wrapping_value ( const JSON_Object * object)

Definition at line 1728 of file parson.c.

References NULL.

Referenced by json_object_set_value().

◆ json_object_has_value()

int json_object_has_value ( const JSON_Object * object,
const char * name )

Definition at line 1736 of file parson.c.

References json_object_get_value(), name, and NULL.

◆ json_object_has_value_of_type()

int json_object_has_value_of_type ( const JSON_Object * object,
const char * name,
JSON_Value_Type type )

Definition at line 1741 of file parson.c.

References json_object_get_value(), json_value_get_type(), name, and NULL.

◆ json_object_remove()

JSON_Status json_object_remove ( JSON_Object * object,
const char * name )

Definition at line 2625 of file parson.c.

References name, and PARSON_TRUE.

◆ json_object_set_boolean()

JSON_Status json_object_set_boolean ( JSON_Object * object,
const char * name,
int boolean )

◆ json_object_set_null()

JSON_Status json_object_set_null ( JSON_Object * object,
const char * name )

◆ json_object_set_number()

JSON_Status json_object_set_number ( JSON_Object * object,
const char * name,
double number )

◆ json_object_set_string()

JSON_Status json_object_set_string ( JSON_Object * object,
const char * name,
const char * string )

◆ json_object_set_string_with_len()

JSON_Status json_object_set_string_with_len ( JSON_Object * object,
const char * name,
const char * string,
size_t len )

◆ json_object_set_value()

◆ json_parse_file()

JSON_Value * json_parse_file ( const char * filename)

Definition at line 1570 of file parson.c.

References json_parse_string(), and NULL.

◆ json_parse_file_with_comments()

JSON_Value * json_parse_file_with_comments ( const char * filename)

Definition at line 1582 of file parson.c.

References json_parse_string_with_comments(), and NULL.

◆ json_parse_string()

JSON_Value * json_parse_string ( const char * string)

Definition at line 1594 of file parson.c.

References NULL.

Referenced by json_parse_file().

◆ json_parse_string_with_comments()

JSON_Value * json_parse_string_with_comments ( const char * string)

Definition at line 1605 of file parson.c.

References NULL.

Referenced by json_parse_file_with_comments().

◆ json_serialization_size()

size_t json_serialization_size ( const JSON_Value * value)

Definition at line 2076 of file parson.c.

References NULL, PARSON_FALSE, and PARSON_NUM_BUF_SIZE.

Referenced by json_serialize_to_buffer(), and json_serialize_to_string().

◆ json_serialization_size_pretty()

size_t json_serialization_size_pretty ( const JSON_Value * value)

◆ json_serialize_to_buffer()

JSON_Status json_serialize_to_buffer ( const JSON_Value * value,
char * buf,
size_t buf_size_in_bytes )

Definition at line 2085 of file parson.c.

References json_serialization_size(), JSONFailure, JSONSuccess, NULL, and PARSON_FALSE.

Referenced by json_serialize_to_string().

◆ json_serialize_to_buffer_pretty()

JSON_Status json_serialize_to_buffer_pretty ( const JSON_Value * value,
char * buf,
size_t buf_size_in_bytes )

◆ json_serialize_to_file()

JSON_Status json_serialize_to_file ( const JSON_Value * value,
const char * filename )

◆ json_serialize_to_file_pretty()

JSON_Status json_serialize_to_file_pretty ( const JSON_Value * value,
const char * filename )

◆ json_serialize_to_string()

char * json_serialize_to_string ( const JSON_Value * value)

◆ json_serialize_to_string_pretty()

char * json_serialize_to_string_pretty ( const JSON_Value * value)

◆ json_set_allocation_functions()

void json_set_allocation_functions ( JSON_Malloc_Function malloc_fun,
JSON_Free_Function free_fun )

Definition at line 2825 of file parson.c.

◆ json_set_escape_slashes()

void json_set_escape_slashes ( int escape_slashes)

Definition at line 2832 of file parson.c.

◆ json_set_float_serialization_format()

void json_set_float_serialization_format ( const char * format)

Definition at line 2837 of file parson.c.

References NULL.

◆ json_set_number_serialization_function()

void json_set_number_serialization_function ( JSON_Number_Serialization_Function func)

Definition at line 2850 of file parson.c.

◆ json_string()

const char * json_string ( const JSON_Value * value)

Definition at line 2805 of file parson.c.

References json_value_get_string().

◆ json_string_len()

size_t json_string_len ( const JSON_Value * value)

Definition at line 2810 of file parson.c.

References json_value_get_string_len().

◆ json_type()

JSON_Value_Type json_type ( const JSON_Value * value)

Definition at line 2790 of file parson.c.

References json_value_get_type().

◆ json_validate()

◆ json_value_deep_copy()

◆ json_value_equals()

◆ json_value_free()

◆ json_value_get_array()

◆ json_value_get_boolean()

int json_value_get_boolean ( const JSON_Value * value)

◆ json_value_get_number()

double json_value_get_number ( const JSON_Value * value)

◆ json_value_get_object()

◆ json_value_get_parent()

JSON_Value * json_value_get_parent ( const JSON_Value * value)

Definition at line 1858 of file parson.c.

References NULL.

◆ json_value_get_string()

const char * json_value_get_string ( const JSON_Value * value)

Definition at line 1835 of file parson.c.

References NULL.

Referenced by json_array_get_string(), json_object_dotget_string(), json_object_get_string(), and json_string().

◆ json_value_get_string_len()

size_t json_value_get_string_len ( const JSON_Value * value)

◆ json_value_get_type()

◆ json_value_init_array()

JSON_Value * json_value_init_array ( void )

Definition at line 1897 of file parson.c.

References JSONArray, and NULL.

Referenced by json_value_deep_copy().

◆ json_value_init_boolean()

JSON_Value * json_value_init_boolean ( int boolean)

◆ json_value_init_null()

JSON_Value * json_value_init_null ( void )

◆ json_value_init_number()

JSON_Value * json_value_init_number ( double number)

◆ json_value_init_object()

JSON_Value * json_value_init_object ( void )

Definition at line 1881 of file parson.c.

References JSONObject, and NULL.

Referenced by json_object_dotset_value(), and json_value_deep_copy().

◆ json_value_init_string()

JSON_Value * json_value_init_string ( const char * string)

◆ json_value_init_string_with_len()

JSON_Value * json_value_init_string_with_len ( const char * string,
size_t length )