移植cJSON后创建一个json对象并打印
·
#移植cJSON后创建一个json对象并打印
//创建一个json对象
int test_printjson(void)
{
cJSON* cjson_test = NULL;
cJSON* cjson_address = NULL;
cJSON* cjson_skill = NULL;
char* str_temp = NULL;
/* 创建一个JSON数据对象(链表头结点) */
cjson_test = cJSON_CreateObject();
/* 添加一条字符串类型的JSON数据(添加一个链表节点) */
cJSON_AddStringToObject(cjson_test, "name", "SysBent");
/* 添加一条整数类型的JSON数据(添加一个链表节点) */
cJSON_AddNumberToObject(cjson_test, "age", 22);
/* 添加一条浮点类型的JSON数据(添加一个链表节点) */
cJSON_AddNumberToObject(cjson_test, "weight", 55.5);
/* 添加一个嵌套的JSON数据(添加一个链表节点) */
cjson_address = cJSON_CreateObject();
cJSON_AddStringToObject(cjson_address, "country", "China");
cJSON_AddNumberToObject(cjson_address, "zip-code", 500000);
cJSON_AddItemToObject(cjson_test, "address", cjson_address);
/* 添加一个数组类型的JSON数据(添加一个链表节点) */
cjson_skill = cJSON_CreateArray();
cJSON_AddItemToArray(cjson_skill, cJSON_CreateString( "C/C++" ));
cJSON_AddItemToArray(cjson_skill, cJSON_CreateString( "Java" ));
cJSON_AddItemToArray(cjson_skill, cJSON_CreateString( "Python" ));
cJSON_AddItemToObject(cjson_test, "skill", cjson_skill);
/* 添加一个值为 True 的布尔类型的JSON数据(添加一个链表节点) */
cJSON_AddTrueToObject(cjson_test,"student");
/* 打印JSON对象(整条链表)的所有数据 */
str_temp = cJSON_Print(cjson_test);
printf("JSON String:\n%s\n", str_temp); //打印json
cJSON_Delete(cjson_test); //记住,使用完cJSON对象后,一定要删除cJSON对象,否则内存会溢出
free(str_temp);//确保在使用完 str_temp 后释放其内存:
return 0;
}
更多推荐
已为社区贡献1条内容
所有评论(0)