GRASS GIS 8 Programmer's Manual  8.4.0dev(2024)-f13a4924e1
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)   (sizeof(a) - 1)
 
#define SKIP_CHAR(str)   ((*str)++)
 
#define SKIP_WHITESPACES(str)
 
#define MAX(a, b)   ((a) > (b) ? (a) : (b))
 
#define IS_NUMBER_INVALID(x)   (((x)*0.0) != 0.0)
 
#define OBJECT_INVALID_IX   ((size_t)-1)
 
#define IS_CONT(b)    (((unsigned char)(b)&0xC0) == 0x80) /* is utf-8 continuation byte */
 
#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)     (((unsigned char)(b)&0xC0) == 0x80) /* is utf-8 continuation byte */

Definition at line 110 of file parson.c.

◆ IS_NUMBER_INVALID

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

Definition at line 95 of file parson.c.

◆ MAX

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

Definition at line 87 of file parson.c.

◆ 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.

◆ 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

Definition at line 116 of file parson.c.

◆ 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.

◆ PARSON_TRUE

#define PARSON_TRUE   1

Definition at line 115 of file parson.c.

◆ SIZEOF_TOKEN

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

Definition at line 81 of file parson.c.

◆ SKIP_CHAR

#define SKIP_CHAR (   str)    ((*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

#define strcpy   USE_MEMCPY_INSTEAD_OF_STRCPY

Definition at line 62 of file parson.c.

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_Status json_array_append_value ( JSON_Array array,
JSON_Value 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)

Definition at line 2213 of file parson.c.

◆ 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)

Definition at line 2635 of file parson.c.

References json_object_get_count(), JSONFailure, and NULL.

◆ 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.

◆ json_object_dotremove()

JSON_Status json_object_dotremove ( JSON_Object object,
const char *  name 
)

Definition at line 2630 of file parson.c.

◆ 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_Status json_object_dotset_value ( JSON_Object object,
const char *  name,
JSON_Value 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)

Definition at line 1707 of file parson.c.

Referenced by json_object_clear(), json_object_get_name(), and json_object_get_value_at().

◆ 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.

◆ 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.

◆ 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.

◆ json_object_remove()

JSON_Status json_object_remove ( JSON_Object object,
const char *  name 
)

Definition at line 2625 of file parson.c.

◆ 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_Status json_object_set_value ( JSON_Object object,
const char *  name,
JSON_Value value 
)

◆ json_parse_file()

JSON_Value* json_parse_file ( const char *  filename)

Definition at line 1570 of file parson.c.

◆ json_parse_file_with_comments()

JSON_Value* json_parse_file_with_comments ( const char *  filename)

Definition at line 1582 of file parson.c.

◆ json_parse_string()

JSON_Value* json_parse_string ( const char *  string)

Definition at line 1594 of file parson.c.

References NULL.

◆ 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.

◆ json_serialization_size()

size_t json_serialization_size ( const JSON_Value value)

Definition at line 2076 of file parson.c.

References 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)

Definition at line 2144 of file parson.c.

References PARSON_NUM_BUF_SIZE.

Referenced by json_serialize_to_buffer_pretty(), and json_serialize_to_string_pretty().

◆ 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(), and JSONFailure.

◆ json_serialize_to_buffer_pretty()

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

Definition at line 2153 of file parson.c.

References json_serialization_size_pretty(), and JSONFailure.

◆ json_serialize_to_file()

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

Definition at line 2100 of file parson.c.

◆ json_serialize_to_file_pretty()

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

Definition at line 2168 of file parson.c.

◆ json_serialize_to_string()

char* json_serialize_to_string ( const JSON_Value value)

Definition at line 2124 of file parson.c.

References json_serialization_size(), JSONFailure, and NULL.

◆ json_serialize_to_string_pretty()

char* json_serialize_to_string_pretty ( const JSON_Value value)

Definition at line 2192 of file parson.c.

References json_serialization_size_pretty(), JSONFailure, and NULL.

◆ 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.

◆ 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_Status json_validate ( const JSON_Value schema,
const JSON_Value value 
)

Definition at line 2655 of file parson.c.

References JSONError, and NULL.

◆ json_value_deep_copy()

◆ json_value_equals()

int json_value_equals ( const JSON_Value a,
const JSON_Value b 
)

Definition at line 2723 of file parson.c.

◆ json_value_free()

◆ json_value_get_array()

JSON_Array* json_value_get_array ( const JSON_Value value)

◆ 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_Object* json_value_get_object ( const JSON_Value value)

◆ 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)

◆ 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.

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.

◆ 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 
)