Go to the source code of this file.
void cJSONUtils_AddPatchToArray |
( |
cJSON * |
array, |
|
|
const char * |
op, |
|
|
const char * |
path, |
|
|
cJSON * |
val |
|
) |
| |
238 {cJSONUtils_GeneratePatch(array,op,path,0,val);}
int cJSONUtils_ApplyPatches |
( |
cJSON * |
object, |
|
|
cJSON * |
patches |
|
) |
| |
References cJSON::child, cJSON_Array, cJSON::next, and cJSON::type.
213 if (patches) patches=patches->
child;
216 if ((err=cJSONUtils_ApplyPatch(
object,patches)))
return err;
217 patches=patches->
next;
struct cJSON * next
Definition: cJSON.h:48
struct cJSON * child
Definition: cJSON.h:49
#define cJSON_Array
Definition: cJSON.h:40
int type
Definition: cJSON.h:50
char* cJSONUtils_FindPointerFromObjectTo |
( |
cJSON * |
object, |
|
|
cJSON * |
target |
|
) |
| |
References cJSON::child, cJSON_Array, cJSON_Object, cJSONUtils_FindPointerFromObjectTo(), cJSON::next, and cJSON::string.
Referenced by cJSONUtils_FindPointerFromObjectTo().
41 int type=
object->type,c=0;
cJSON *obj=0;
43 if (
object==target)
return strdup(
"");
45 for (obj=object->
child;obj;obj=obj->
next,c++)
52 char *ret=(
char*)malloc(strlen(found)+23);
53 sprintf(ret,
"/%d%s",c,found);
59 char *ret=(
char*)malloc(strlen(found)+cJSONUtils_PointerEncodedstrlen(obj->
string)+2);
60 *ret=
'/';cJSONUtils_PointerEncodedstrcpy(ret+1,obj->
string);
struct cJSON * next
Definition: cJSON.h:48
struct cJSON * child
Definition: cJSON.h:49
#define cJSON_Object
Definition: cJSON.h:41
char * cJSONUtils_FindPointerFromObjectTo(cJSON *object, cJSON *target)
Definition: cJSON_Utils.c:39
#define cJSON_Array
Definition: cJSON.h:40
char * string
Definition: cJSON.h:59
References cJSON::child, cJSON_AddItemToObject(), cJSON_CreateNull(), cJSON_CreateObject(), cJSON_Delete(), cJSON_Duplicate(), cJSON_Object, cJSONUtils_GenerateMergePatch(), cJSONUtils_SortObject(), cJSON::next, cJSON::string, and cJSON::type.
Referenced by cJSONUtils_GenerateMergePatch().
376 int compare=from?(to?strcmp(from->
string,to->
string):-1):1;
395 }
cJSON * cJSON_CreateNull(void)
Definition: cJSON.c:696
void cJSON_AddItemToObject(cJSON *object, const char *string, cJSON *item)
Definition: cJSON.c:676
struct cJSON * next
Definition: cJSON.h:48
struct cJSON * child
Definition: cJSON.h:49
#define cJSON_Object
Definition: cJSON.h:41
cJSON * cJSON_CreateObject(void)
Definition: cJSON.c:708
cJSON * cJSON_Duplicate(cJSON *item, int recurse)
Definition: cJSON.c:721
void cJSON_Delete(cJSON *c)
Definition: cJSON.c:81
int type
Definition: cJSON.h:50
char * string
Definition: cJSON.h:59
void cJSONUtils_SortObject(cJSON *object)
Definition: cJSON_Utils.c:344
cJSON * cJSONUtils_GenerateMergePatch(cJSON *from, cJSON *to)
Definition: cJSON_Utils.c:365
References cJSON_CreateArray().
301 cJSONUtils_CompareToPatch(patches,
"",from,to);
cJSON * cJSON_CreateArray(void)
Definition: cJSON.c:707
cJSON* cJSONUtils_GetPointer |
( |
cJSON * |
object, |
|
|
const char * |
pointer |
|
) |
| |
References cJSON_Array, cJSON_GetArrayItem(), cJSON_Object, cJSON::string, and cJSON::type.
74 while (*pointer++==
'/' &&
object)
78 int which=0;
while (*pointer>=
'0' && *pointer<=
'9') which=(10*which) + *pointer++ -
'0';
79 if (*pointer && *pointer!=
'/')
return 0;
84 object=
object->child;
while (
object && cJSONUtils_Pstrcasecmp(object->
string,pointer))
object=
object->next;
85 while (*pointer && *pointer!=
'/') pointer++;
#define cJSON_Object
Definition: cJSON.h:41
#define cJSON_Array
Definition: cJSON.h:40
int type
Definition: cJSON.h:50
cJSON * cJSON_GetArrayItem(cJSON *array, int item)
Definition: cJSON.c:665
char * string
Definition: cJSON.h:59
References cJSON::child, cJSON_AddItemToObject(), cJSON_CreateObject(), cJSON_Delete(), cJSON_DeleteItemFromObject(), cJSON_DetachItemFromObject(), cJSON_Duplicate(), cJSON_NULL, cJSON_Object, cJSONUtils_MergePatch(), cJSON::next, cJSON::string, and cJSON::type.
Referenced by cJSONUtils_MergePatch().
void cJSON_AddItemToObject(cJSON *object, const char *string, cJSON *item)
Definition: cJSON.c:676
void cJSON_DeleteItemFromObject(cJSON *object, const char *string)
Definition: cJSON.c:685
struct cJSON * next
Definition: cJSON.h:48
struct cJSON * child
Definition: cJSON.h:49
#define cJSON_Object
Definition: cJSON.h:41
cJSON * cJSON_CreateObject(void)
Definition: cJSON.c:708
cJSON * cJSON_Duplicate(cJSON *item, int recurse)
Definition: cJSON.c:721
#define cJSON_NULL
Definition: cJSON.h:37
cJSON * cJSONUtils_MergePatch(cJSON *target, cJSON *patch)
Definition: cJSON_Utils.c:346
cJSON * cJSON_DetachItemFromObject(cJSON *object, const char *string)
Definition: cJSON.c:684
void cJSON_Delete(cJSON *c)
Definition: cJSON.c:81
int type
Definition: cJSON.h:50
char * string
Definition: cJSON.h:59
void cJSONUtils_SortObject |
( |
cJSON * |
object | ) |
|