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

c 循環(huán)判斷json

傅智翔1年前7瀏覽0評論

C語言是一種廣泛應用于嵌入式系統(tǒng)開發(fā)中的語言,而JSON是一種常見的數(shù)據(jù)交換格式。在編寫C語言程序時,有時需要循環(huán)判斷JSON數(shù)據(jù)中某些字段的值。下面就是一段用C語言循環(huán)判斷JSON中某個字段值的示例代碼。

#include#include#include#include "cJSON.h"
int main() {
char *jsonStr = "{ \"name\": \"張三\", \"age\": 20, \"score\": {\"math\": 90, \"english\": 80}}";
cJSON *root = cJSON_Parse(jsonStr);
if (!root) {
printf("parse json error:%s\n", cJSON_GetErrorPtr());
return -1;
}
cJSON *node = NULL;
cJSON_ArrayForEach(node, root) { // 循環(huán)獲取JSON中所有的鍵值對
if (strcmp(node->string, "score") == 0 && node->type == cJSON_Object) { // 判斷是否為score對象
cJSON *scoreNode = NULL;
cJSON_ArrayForEach(scoreNode, node) {  // 如果是score對象,進一步循環(huán)獲取內嵌鍵值對
if (strcmp(scoreNode->string, "math") == 0) {  // 如果鍵名為math
int mathScore = scoreNode->valueint;  // 獲取數(shù)值
printf("math score:%d\n", mathScore);
} else if (strcmp(scoreNode->string, "english") == 0) { // 如果鍵名為english
int englishScore = scoreNode->valueint;  // 獲取數(shù)值
printf("english score:%d\n", englishScore);
}
}
}
}
cJSON_Delete(root);
return 0;
}

上述代碼中,使用了cJSON庫來解析JSON字符串,循環(huán)遍歷該字符串中所有的鍵值對,并判斷是否為目標字段所在的對象。如果是目標對象,進一步循環(huán)獲取內嵌的鍵值對,根據(jù)鍵名獲取對應數(shù)值。這樣就可以輕松實現(xiàn)對JSON中目標字段數(shù)值的獲取。