欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 如何取json中的數(shù)據(jù)

在C語(yǔ)言中,我們可以使用第三方庫(kù)來(lái)解析JSON數(shù)據(jù)。這里以cJSON庫(kù)為例,假設(shè)我們已經(jīng)將JSON數(shù)據(jù)解析成了cJSON對(duì)象,如何從cJSON對(duì)象中取出我們需要的數(shù)據(jù)呢?

// 假設(shè)我們已經(jīng)解析出了如下的JSON數(shù)據(jù)
// {
//   "name": "張三",
//   "age": 25,
//   "address": {
//     "city": "北京",
//     "street": "XX路XX號(hào)"
//   },
//   "hobbies": ["游泳", "健身"]
// }
// 首先從cJSON對(duì)象中獲取name屬性對(duì)應(yīng)的值
cJSON* nameObj = cJSON_GetObjectItem(root, "name");
if (nameObj != NULL && nameObj->type == cJSON_String) {
printf("name:%s\n", nameObj->valuestring);
}
// 獲取age屬性對(duì)應(yīng)的值
cJSON* ageObj = cJSON_GetObjectItem(root, "age");
if (ageObj != NULL && ageObj->type == cJSON_Number) {
printf("age:%d\n", ageObj->valueint);
}
// 獲取address屬性對(duì)應(yīng)的值
cJSON* addressObj = cJSON_GetObjectItem(root, "address");
if (addressObj != NULL && addressObj->type == cJSON_Object) {
cJSON* cityObj = cJSON_GetObjectItem(addressObj, "city");
if (cityObj != NULL && cityObj->type == cJSON_String) {
printf("city:%s\n", cityObj->valuestring);
}
cJSON* streetObj = cJSON_GetObjectItem(addressObj, "street");
if (streetObj != NULL && streetObj->type == cJSON_String) {
printf("street:%s\n", streetObj->valuestring);
}
}
// 獲取hobbies屬性對(duì)應(yīng)的值
cJSON* hobbiesObj = cJSON_GetObjectItem(root, "hobbies");
if (hobbiesObj != NULL && hobbiesObj->type == cJSON_Array) {
int array_len = cJSON_GetArraySize(hobbiesObj);
for (int i = 0; i< array_len; i++) {
cJSON* item = cJSON_GetArrayItem(hobbiesObj, i);
if (item != NULL && item->type == cJSON_String) {
printf("hobby:%s\n", item->valuestring);
}
}
}

通過(guò)上述代碼,我們可以成功地從JSON對(duì)象中取出我們需要的數(shù)據(jù),這樣我們就可以在C語(yǔ)言中方便地處理JSON數(shù)據(jù)了。