可以通過 cJSON_CreateObject() 函數(shù)創(chuàng)建一個(gè) JSON 對象;
那么, 它相當(dāng)于一個(gè) root 根對象,就可以往這個(gè) JSON 對象中插入元素;
//========================================================================
注意,使用 cJSON_CreateObject() 函數(shù),創(chuàng)建出一個(gè) Object 對象;
那么,要往該 Object 對象插入元素時(shí),就使用相應(yīng)的 cJSON_Add xxx ToObject(); 函數(shù);
就是把一個(gè)元素,插入到 Object() 對象中;
//========================================================================
這就與 cJSON_CreateArray() 不同,這個(gè)函數(shù),是創(chuàng)建一個(gè) JSON 數(shù)組;
那么,插入元素時(shí),就是相應(yīng)的 cJSON_Add xxx ToArray() 函數(shù);
//========================================================================
如下是測試的例子:
#include
#include
#include "cJSON.h"
void json_create(void);
void json_parse(void);
//========================================================
//========================================================
void print_json(cJSON *p)
{
?printf("============================\n");
?printf("type = %d\n", p->type);
?printf("valuestring = %s\n", p->valuestring);
?printf("valueint = %d\n", p->valueint);
?printf("valuedouble = %f\n", p->valuedouble);
?printf("string = %s\n", p->string);
?printf("============================\n");
}
//========================================================
//========================================================
int main (int argc, const char * argv[])
{
?json_create();
}
//========================================================
//========================================================
void json_create(void)
{
? cJSON *root = cJSON_CreateObject();
? cJSON *v1;
? cJSON_AddNumberToObject(root,"value",123.4);
?cJSON_AddItemToObject(root, "name", cJSON_CreateString("www"));
?cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(12));
? char *out = cJSON_Print(root);
? printf("%s\n",out);
? print_json(root);
?v1 = cJSON_GetObjectItem(root , "age");
?print_json(v1);
? free(out);
? cJSON_Delete(root);
}
運(yùn)行的結(jié)果如下:
[hill@Ubunut10 test1]$./test?
{
?"value":?? ?123.400000,
?"name":?? ?"www",
?"age":?? ?12
}
============================
type = 6
valuestring = (null)
valueint = 0
valuedouble = 0.000000
string = (null)
============================
============================
type = 3
valuestring = (null)
valueint = 12
valuedouble = 12.000000
string = age
============================
韋凱峰 Linux C/C++零基礎(chǔ)編程教程
Linux系統(tǒng)編程,Openwrt系統(tǒng)開發(fā)
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
標(biāo)題名稱:json創(chuàng)建對象-第3講-創(chuàng)新互聯(lián)
文章源于:http://chinadenli.net/article26/ddiicg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、虛擬主機(jī)、面包屑導(dǎo)航、動(dòng)態(tài)網(wǎng)站、網(wǎng)站維護(hù)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容