色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c http 解析json數(shù)據(jù)

在使用 C 語(yǔ)言來(lái)進(jìn)行 http 請(qǐng)求時(shí),我們經(jīng)常會(huì)收到 json 格式的數(shù)據(jù),因此了解如何解析 json 數(shù)據(jù)是非常重要的。下面我們就來(lái)看一下如何使用 C 語(yǔ)言解析 json 數(shù)據(jù)。

//定義 json 數(shù)據(jù)
const char *json_string =
"{
\"name\": \"Tom\",
\"age\": 20,
\"address\": {
\"city\": \"Shanghai\",
\"street\": \"XXX Road\"
}
}";
//解析 json 數(shù)據(jù)
cJSON *json = cJSON_Parse(json_string);
if (json == NULL) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
} else {
//獲取 json 值
printf("name: %s\n", cJSON_GetObjectItem(json, "name")->valuestring);
printf("age: %d\n", cJSON_GetObjectItem(json, "age")->valueint);
printf("address.city: %s\n", cJSON_GetObjectItem(cJSON_GetObjectItem(json, "address"), "city")->valuestring);
//釋放 json 內(nèi)存
cJSON_Delete(json);
}

在上述代碼中,我們首先定義了 json 數(shù)據(jù),然后使用 cJSON_Parse 函數(shù)將其解析并賦值給 json 變量,如果出現(xiàn)解析錯(cuò)誤,則打印錯(cuò)誤信息。接下來(lái),我們使用 cJSON_GetObjectItem 函數(shù)獲取 name、age 和 address.city 的值,并打印輸出。最后,我們使用 cJSON_Delete 函數(shù)釋放 json 對(duì)象的內(nèi)存。

需要注意的是,在使用 cJSON_GetObjectItem 函數(shù)獲取 json 值時(shí),需要正確的傳入 json 對(duì)象以及對(duì)應(yīng)的 key 值。如果 key 值不存在,將會(huì)返回 NULL。