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

c json中文解析

李中冰2年前8瀏覽0評論

JSON是一種輕量級的數據交換格式,它可以用來描述復雜的數據結構。在C語言中,解析JSON需要使用第三方庫。其中,cJSON是一款常用的C語言JSON解析庫,支持將JSON字符串轉換為C語言的數據結構。

// 示例JSON字符串
const char* json_str = "{\"name\": \"Alice\", \"age\": 18, \"score\": [85, 90, 95]}";
// 解析JSON字符串
cJSON* root = cJSON_Parse(json_str);
if (root == NULL) {
printf("Failed to parse JSON string\n");
return;
}
// 從JSON對象中獲取名稱為"name"的字符串值
cJSON* name = cJSON_GetObjectItem(root, "name");
if (name == NULL) {
printf("Failed to get name\n");
} else {
printf("Name: %s\n", name->valuestring);
}
// 從JSON對象中獲取名稱為"age"的數值
cJSON* age = cJSON_GetObjectItem(root, "age");
if (age == NULL) {
printf("Failed to get age\n");
} else {
printf("Age: %d\n", age->valueint);
}
// 從JSON對象中獲取名稱為"score"的數組
cJSON* score = cJSON_GetObjectItem(root, "score");
if (score == NULL) {
printf("Failed to get score\n");
} else {
int size = cJSON_GetArraySize(score);
printf("Score:");
for (int i = 0; i< size; i++) {
cJSON* item = cJSON_GetArrayItem(score, i);
printf(" %d", item->valueint);
}
printf("\n");
}
// 釋放JSON解析結果的內存
cJSON_Delete(root);

在解析JSON時,需要注意輸入的JSON格式是否合法。當JSON格式不合法時,cJSON_Parse函數會返回NULL,需要進行錯誤處理。另外,依據JSON對象的類型可以使用不同的獲取函數,例如,從JSON對象中獲取字符串值可以使用cJSON_GetObjectItem(root, "name")->valuestring。