在現(xiàn)代應(yīng)用程序中,JSON(JavaScript Object Notation)是一種常見的數(shù)據(jù)交換格式。而在 C 語言開發(fā)中,JSON 數(shù)據(jù)處理和解析是必不可少的。
下面是 C 語言中如何處理 JSON 數(shù)據(jù)的簡單示例:
#include <stdio.h> #include <json-c/json.h> int main() { const char *json_str = "{\"name\":\"Tom\",\"age\":20}"; struct json_object *json_obj = json_tokener_parse(json_str); enum json_type type = json_object_get_type(json_obj); switch (type) { case json_type_object: printf("JSON Type: Object\n"); json_object_object_foreach(json_obj, key, val) { printf("Key: %s\n", key); if (json_object_is_type(val, json_type_string)) { printf("Value: %s\n", json_object_get_string(val)); } else if (json_object_is_type(val, json_type_int)) { printf("Value: %d\n", json_object_get_int(val)); } } break; default: printf("Unknown JSON Type: %d\n", type); break; } json_object_put(json_obj); return 0; }
在上面的代碼中,我們使用 libjson-c 庫來解析 JSON 數(shù)據(jù)。首先定義一個待解析的 JSON 字符串,然后調(diào)用 json_tokener_parse() 函數(shù)將其轉(zhuǎn)換成一個 JSON 對象。
接下來,我們使用 json_object_get_type() 函數(shù)獲取 JSON 對象的類型。當 JSON 對象類型為 object 時,我們可以使用 json_object_object_foreach() 函數(shù)遍歷其中的鍵值對,獲取其鍵名和鍵值,并通過 json_object_is_type() 函數(shù)判斷其類型,從而使用對應(yīng)的 json_object_get_XXX() 函數(shù)獲取值。
最后,我們使用 json_object_put() 函數(shù)清理 JSON 對象,并返回程序運行狀態(tài)。
上一篇vue存儲幾種方式