28 #if !defined(__WINDOWS__) && (defined(WIN32) || defined(WIN64) || defined(_MSC_VER) || defined(_WIN32)) 47 #define CJSON_CDECL __cdecl 48 #define CJSON_STDCALL __stdcall 51 #if !defined(CJSON_HIDE_SYMBOLS) && !defined(CJSON_IMPORT_SYMBOLS) && !defined(CJSON_EXPORT_SYMBOLS) 52 #define CJSON_EXPORT_SYMBOLS 55 #if defined(CJSON_HIDE_SYMBOLS) 56 #define CJSON_PUBLIC(type) type CJSON_STDCALL 57 #elif defined(CJSON_EXPORT_SYMBOLS) 58 #define CJSON_PUBLIC(type) __declspec(dllexport) type CJSON_STDCALL 59 #elif defined(CJSON_IMPORT_SYMBOLS) 60 #define CJSON_PUBLIC(type) __declspec(dllimport) type CJSON_STDCALL 66 #if (defined(__GNUC__) || defined(__SUNPRO_CC) || defined (__SUNPRO_C)) && defined(CJSON_API_VISIBILITY) 67 #define CJSON_PUBLIC(type) __attribute__((visibility("default"))) type 69 #define CJSON_PUBLIC(type) type 74 #define CJSON_VERSION_MAJOR 1 75 #define CJSON_VERSION_MINOR 7 76 #define CJSON_VERSION_PATCH 12 81 #define cJSON_Invalid (0) 82 #define cJSON_False (1 << 0) 83 #define cJSON_True (1 << 1) 84 #define cJSON_NULL (1 << 2) 85 #define cJSON_Number (1 << 3) 86 #define cJSON_String (1 << 4) 87 #define cJSON_Array (1 << 5) 88 #define cJSON_Object (1 << 6) 89 #define cJSON_Raw (1 << 7) 91 #define cJSON_IsReference 256 92 #define cJSON_StringIsConst 512 128 #ifndef CJSON_NESTING_LIMIT 129 #define CJSON_NESTING_LIMIT 1000 163 CJSON_PUBLIC(
cJSON *) cJSON_GetObjectItemCaseSensitive(
const cJSON *
const object,
const char *
const string);
164 CJSON_PUBLIC(cJSON_bool) cJSON_HasObjectItem(
const cJSON *
object,
const char *
string);
226 CJSON_PUBLIC(
void) cJSON_DeleteItemFromObject(
cJSON *
object,
const char *
string);
227 CJSON_PUBLIC(
void) cJSON_DeleteItemFromObjectCaseSensitive(
cJSON *
object,
const char *
string);
261 #define cJSON_SetIntValue(object, number) ((object) ? (object)->valueint = (object)->valuedouble = (number) : (number)) 264 #define cJSON_SetNumberValue(object, number) ((object != NULL) ? cJSON_SetNumberHelper(object, (double)number) : (number)) 267 #define cJSON_ArrayForEach(element, array) for(element = (array != NULL) ? (array)->child : NULL; element != NULL; element = element->next) const char cJSON_bool require_null_terminated
const char ** return_parse_end
const char *const const double number
const char *const const char *const raw
const char *const const char *const const cJSON *const value
char const int const cJSON_bool format
struct cJSON_Hooks cJSON_Hooks
const cJSON *const const cJSON_bool case_sensitive
cJSON *const cJSON * replacement
#define CJSON_PUBLIC(type)