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

c 讀取json類型

方一強2年前8瀏覽0評論

C語言是一門具有廣泛應用的編程語言。而隨著互聯網的普及,JSON(JavaScript Object Notation)這種數據交換格式也變得越來越常見。在C語言中,我們如何讀取JSON類型的數據呢?

#include#include#include#include "cjson/cJSON.h"
int main() {
// 定義一個JSON字符串
char *jsonStr = "{\"name\": \"John\", \"age\": 25}";
// 將字符串解析為JSON對象
cJSON *root = cJSON_Parse(jsonStr);
// 判斷JSON對象是否解析成功
if (root == NULL) {
printf("JSON解析失敗!\n");
return -1;
}
// 獲取JSON中的數據
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
// 判斷獲取數據是否成功
if (name == NULL || age == NULL) {
printf("獲取數據失敗!\n");
return -1;
}
// 打印JSON中的數據
printf("name: %s\n", name->valuestring);
printf("age: %d\n", age->valueint);
// 釋放內存
cJSON_Delete(root);
return 0;
}

在這段代碼中,我們使用了第三方庫cJSON來解析和操作JSON數據。在函數cJSON_Parse中,我們將JSON字符串作為參數傳入,得到一個cJSON類型的JSON對象。接著,我們使用函數cJSON_GetObjectItem獲取JSON中的數據,函數的第一個參數是JSON對象,第二個參數是要獲取的數據的鍵名。

如果獲取數據失敗,我們需要注意cJSON_GetObjectItem的返回值,該函數返回一個cJSON類型的對象。如果該對象為NULL,則說明獲取數據失敗。而如果獲取數據成功,我們可以通過訪問該對象的valuestringvalueint成員來獲取JSON數據的值。

最后,我們需要釋放內存。在cJSON中,可以使用函數cJSON_Delete來銷毀JSON對象,以釋放內存。