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

c語言 json 解析json數據

錢瀠龍1年前10瀏覽0評論

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,由于其簡單、易于解析、易于生成和易于讀取,近年來被廣泛應用于數據傳輸。在C語言中,解析JSON數據可以用多種方式,本文將主要介紹使用第三方庫cJSON的方法。

cJSON是一種用純C實現的輕量級JSON解析庫,可以通過簡單的API調用有效地解析JSON數據。其API函數包括創建、添加、修改、查詢、釋放等操作。

#include <cJSON.h>
#include <stdio.h>
int main()
{
const char* json_str = "{\\\"name\\\":\\\"Tom\\\",\\\"age\\\":18}";
cJSON* root = cJSON_Parse(json_str);
if (!root)
{
printf("Parse failed!\n");
return 1;
}
cJSON* name = cJSON_GetObjectItem(root, "name");
if (!name)
{
printf("Can't find name!\n");
cJSON_Delete(root);
return 1;
}
cJSON* age = cJSON_GetObjectItem(root, "age");
if (!age)
{
printf("Can't find age!\n");
cJSON_Delete(root);
return 1;
}
printf("name=%s, age=%d\n", name->valuestring, age->valueint);
cJSON_Delete(root);
return 0;
}

在上述代碼中,我們通過cJSON_Parse()函數將json字符串解析為一個cJSON對象root。若該函數返回NULL,則說明解析失敗。接下來,我們通過cJSON_GetObjectItem()函數遍歷找到相應的JSON鍵值對,并通過valuestring和valueint屬性獲取其對應的字符串和數值。最后,我們調用cJSON_Delete()函數釋放所分配的內存。

使用cJSON解析JSON數據簡單、高效,是目前廣泛使用的一種方法。需要注意的是,在實際開發過程中應加入異常處理、內存泄漏等措施,以確保代碼的穩定性和可靠性。