c語言中對于json串的處理使用的是json-c庫,需要在開發環境中安裝該庫,具體安裝方法可以參考官網(https://github.com/json-c/json-c)中提供的文檔。
在編寫程序時,需要引入json.h頭文件,使用json_object對象對json串進行解析,具體過程可以參考如下代碼:
#include <stdio.h> #include <json-c/json.h> int main() { // 假設要解析的json串為{"name":"John","age":30,"city":"New York"} const char* json_str = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}"; struct json_object* json_obj = json_tokener_parse(json_str); // 從對象中獲取相應的值 struct json_object* name_obj; json_object_object_get_ex(json_obj, "name", &name_obj); const char* name = json_object_get_string(name_obj); struct json_object* age_obj; json_object_object_get_ex(json_obj, "age", &age_obj); int age = json_object_get_int(age_obj); struct json_object* city_obj; json_object_object_get_ex(json_obj, "city", &city_obj); const char* city = json_object_get_string(city_obj); // 輸出所獲取的值 printf("Name: %s\n", name); printf("Age: %d\n", age); printf("City: %s\n", city); return 0; }
在代碼中,使用了json_tokener_parse()函數將json字符串解析成json_object對象,然后使用json_object_object_get_ex()函數從對象中獲取相應的值,具體的取值函數根據需要選擇使用,例如json_object_get_int()函數用于獲取整型值,json_object_get_string()函數用于獲取字符串值等。
需要注意的是,在使用完json_object對象后,需要使用json_object_put()函數釋放資源,以免出現內存泄漏。