cJSON修改已存在item的string方法
cJSON
Ultralightweight JSON parser in ANSI C
项目地址:https://gitcode.com/gh_mirrors/cj/cJSON
免费下载资源
·
CJSON API库中并未实现修改string的功能接口,因此手动编写一个,代码如下:
static void cJSON_add_string_to_object(cJSON * const object, const char * const name, const char * const string)
{
cJSON *item;
if (object == NULL || name == NULL || string == NULL)
{
return;
}
item = cJSON_GetObjectItemCaseSensitive(object, name);
// item not exist
if (item == NULL)
{
cJSON_AddStringToObject(object, name, string); // just addstring
}
// item exist
else
{
cJSON_free(item->valuestring); // free present valuestring
item->valuestring = strdup(string); // malloc and init new valuestring
}
}
最主要是else分支代码,实现新的valuestring指针指向的值;注意释放之前的内存,否则会导致内存泄漏;
GitHub 加速计划 / cj / cJSON
10.45 K
3.16 K
下载
Ultralightweight JSON parser in ANSI C
最近提交(Master分支:2 个月前 )
424ce4ce
This reverts commit 5b502cdbfb21fbe5f6cf9ffbd2b96e4281a741e6.
Related to #860
4 个月前
32497300 - 5 个月前
更多推荐
已为社区贡献2条内容
所有评论(0)