本文整理汇总了C++中cJSON_ReplaceItemInArray函数的典型用法代码示例。如果您正苦于以下问题:C++ cJSON_ReplaceItemInArray函数的具体用法?C++ cJSON_ReplaceItemInArray怎么用?C++ cJSON_ReplaceItemInArray使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cJSON_ReplaceItemInArray函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: cjson_set_null_idx
cbool cjson_set_null_idx(cjson* pJson, int idx)
{
if(!pJson)
{
return 0;
}
cJSON* lp_dest_json = pJson->child;
if(!lp_dest_json || lp_dest_json->type != cJSON_Array)
{
return 0;
}
if(cJSON_GetArrayItem(lp_dest_json, idx)!= NULL)
{
cJSON_ReplaceItemInArray(lp_dest_json, idx, cJSON_CreateNull() );
}
else
{
cJSON_AddItemToArray(lp_dest_json, cJSON_CreateNull() );
}
return 1;
}
开发者ID:baifanmvp,项目名称:bitIdx,代码行数:26,代码来源:cjson.c
示例2: cjson_set_obj_idx
cbool cjson_set_obj_idx(cjson* pJson, int idx, cjson* obj)
{
if(!pJson || !obj)
{
return 0;
}
cJSON* lp_dest_json = pJson->child;
cJSON* lp_src_json = obj->child;
if(!lp_dest_json ||lp_dest_json->type != cJSON_Array)
{
return 0;
}
if(cJSON_GetArrayItem(lp_dest_json, idx)!= NULL)
{
cJSON_ReplaceItemInArray(lp_dest_json, idx, lp_src_json);
}
else
{
cJSON_AddItemToArray(lp_dest_json, lp_src_json);
}
free(obj);
return 1;
}
开发者ID:baifanmvp,项目名称:bitIdx,代码行数:27,代码来源:cjson.c
示例3: cJSON_ReplaceItemInObject
void cJSON_ReplaceItemInObject(cJSON *object,const char *string,cJSON *newitem) {
int i=0;
cJSON *c=object->child;
while(c && cJSON_strcasecmp(c->string,string))i++,c=c->next;
if(c) {
newitem->string=cJSON_strdup(string);
cJSON_ReplaceItemInArray(object,i,newitem);
}
}
开发者ID:S-V,项目名称:Lollipop,代码行数:9,代码来源:cJSON.cpp
示例4: cJSON_ReplaceItemInObject
void cJSON_ReplaceItemInObject(cJSON *object, const char *string, cJSON *newitem)
{
int i = 0;
cJSON *c = object->child;
while(c && cJSON_strcasecmp(c->string, string))
{
i++;
c = c->next;
}
if(c)
{
/* free the old string if not const */
if (!(newitem->type & cJSON_StringIsConst) && newitem->string)
{
cJSON_free(newitem->string);
}
newitem->string = cJSON_strdup(string);
cJSON_ReplaceItemInArray(object, i, newitem);
}
}
开发者ID:FSMaxB,项目名称:cJSON,代码行数:21,代码来源:cJSON.c
示例5: create_objects
/* Create a bunch of objects as demonstration. */
void create_objects()
{
/* declare a few. */
cJSON *root,*fmt,*img,*thm,*fld;
char *out;
int i;
/* Here we construct some JSON standards, from the JSON site. */
/* Our "Video" datatype: */
root=cJSON_CreateObject();
cJSON_AddItemToObject(root, "name", cJSON_CreateString("Jack (\"Bee\") Nimble"));
cJSON_AddItemToObject(root, "format", fmt=cJSON_CreateObject());
cJSON_AddStringToObject(fmt,"type", "rect");
cJSON_AddNumberToObject(fmt,"width", 1920);
cJSON_AddNumberToObject(fmt,"height", 1080);
cJSON_AddFalseToObject (fmt,"interlace");
cJSON_AddNumberToObject(fmt,"frame rate", 24);
/* Print to text, Delete the cJSON, print it, release the string. */
out=cJSON_Print(root);
cJSON_Delete(root);
printf("%s\n",out);
free(out);
/* Our "days of the week" array: */
const char *strings[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
root=cJSON_CreateStringArray(strings,7);
out=cJSON_Print(root);
cJSON_Delete(root);
printf("%s\n",out);
free(out);
/* Our matrix: */
int numbers[3][3]={{0,-1,0},{1,0,0},{0,0,1}};
root=cJSON_CreateArray();
for (i=0;i<3;i++) cJSON_AddItemToArray(root,cJSON_CreateIntArray(numbers[i],3));
out=cJSON_Print(root);
printf("%s\n",out);
free(out);
cJSON_ReplaceItemInArray(root,1,cJSON_CreateString("Replacement"));
out=cJSON_Print(root);
cJSON_Delete(root);
printf("%s\n",out);
free(out);
/* Our "gallery" item: */
int ids[4]={116,943,234,38793};
root=cJSON_CreateObject();
cJSON_AddItemToObject(root, "Image", img=cJSON_CreateObject());
cJSON_AddNumberToObject(img,"Width",800);
cJSON_AddNumberToObject(img,"Height",600);
cJSON_AddStringToObject(img,"Title","View from 15th Floor");
cJSON_AddItemToObject(img, "Thumbnail", thm=cJSON_CreateObject());
cJSON_AddStringToObject(thm, "Url", "http:/*www.example.com/image/481989943");
cJSON_AddNumberToObject(thm,"Height",125);
cJSON_AddStringToObject(thm,"Width","100");
cJSON_AddItemToObject(img,"IDs", cJSON_CreateIntArray(ids,4));
out=cJSON_Print(root);
cJSON_Delete(root);
printf("%s\n",out);
free(out);
/* Our array of "records": */
struct record fields[2]={
{"zip",37.7668,-1.223959e+2,"","SAN FRANCISCO","CA","94107","US"},
{"zip",37.371991,-1.22026e+2,"","SUNNYVALE","CA","94085","US"}};
root=cJSON_CreateArray();
for (i=0;i<2;i++)
{
cJSON_AddItemToArray(root,fld=cJSON_CreateObject());
cJSON_AddStringToObject(fld, "precision", fields[i].precision);
cJSON_AddNumberToObject(fld, "Latitude", fields[i].lat);
cJSON_AddNumberToObject(fld, "Longitude", fields[i].lon);
cJSON_AddStringToObject(fld, "Address", fields[i].address);
cJSON_AddStringToObject(fld, "City", fields[i].city);
cJSON_AddStringToObject(fld, "State", fields[i].state);
cJSON_AddStringToObject(fld, "Zip", fields[i].zip);
cJSON_AddStringToObject(fld, "Country", fields[i].country);
}
/* cJSON_ReplaceItemInObject(cJSON_GetArrayItem(root,1),"City",cJSON_CreateIntArray(ids,4)); */
out=cJSON_Print(root);
cJSON_Delete(root);
printf("%s\n",out);
free(out);
}
开发者ID:zhiliang729,项目名称:cJson,代码行数:96,代码来源:main.c
示例6: set_value
static int set_value(cJSON *root, const char *json_pointer, cJSON *value)
{
if (root == NULL) {
return -1;
}
const int len = strlen(json_pointer);
int offset = 0;
if (offset == len) {
//如果为""
return -1;
}
cJSON *parent = root;
char *key = NULL;
while (1) {
free(key);
key = get_key(json_pointer, &offset);
if (key == NULL) {
return -1;
}
if (offset >= len) {
//表示没有下一个key了
break;
}
cJSON *child = NULL;
if (parent->type == cJSON_Object) {
child = cJSON_GetObjectItem(parent, key);
if (child == NULL) {
//总是创建object而不是数组
child = cJSON_CreateObject();
cJSON_AddItemToObject(parent, key, child);
} else if (child->type != cJSON_Object && child->type != cJSON_Array) {
child = cJSON_CreateObject();
cJSON_ReplaceItemInObject(parent, key, child);
} else {
//do nothing
}
} else if (parent->type == cJSON_Array) {
int index = atoi(key);
child = cJSON_GetArrayItem(parent, index);
if (child == NULL) {
//总是创建object而不是数组
child = cJSON_CreateObject();
cJSON_InsertItemInArray(parent, index, child);
} else if (child->type != cJSON_Object && child->type != cJSON_Array) {
child = cJSON_CreateObject();
cJSON_ReplaceItemInArray(parent, index, child);
} else {
//do nothing
}
} else {
//不应该执行到这里
printf("===>not impossible\n");
}
parent = child;
}
if (parent->type == cJSON_Array) {
//key必须为0 or 123,456, '-'表示添加到最后面
if (strcmp("-", key) == 0) {
cJSON_AddItemToArray(parent, value);
} else {
int index = atoi(key);
//strtol()
cJSON_InsertItemInArray(parent, index, value);
}
} else if (parent->type == cJSON_Object) {
//cJSON_AddItemToObject(parent,key,value);
cJSON *oldValue = cJSON_GetObjectItem(parent, key);
if (oldValue == NULL) {
cJSON_AddItemToObject(parent, key, value);
} else {
cJSON_ReplaceItemInObject(parent, key, value);
}
//cJSON *kk = cJSON_GetObjectItem(parent, key);
} else {
//null,number,string,boolean
//不能够添加
printf("=====>noooo\n");
}
free(key);
return 0;
}
开发者ID:canmor-lam,项目名称:libsg,代码行数:92,代码来源:json.c
示例7: cJSON_ReplaceItemInObject
void cJSON_ReplaceItemInObject(cJSON *object,const char *string,cJSON *newitem){int i=0;cJSON *c=cJSON_GetObjectItemV2(object,string,&i);if(c){if(newitem->string) cJSON_free(newitem->string);newitem->string=cJSON_strdup(string);cJSON_ReplaceItemInArray(object,i,newitem);}}
开发者ID:shengang1006,项目名称:libjson,代码行数:1,代码来源:cJSON.c
注:本文中的cJSON_ReplaceItemInArray函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论