C語言中的靜態(tài)方法是在編譯時分配空間,與類的實例無關(guān)。在使用靜態(tài)方法接收J(rèn)SON時,需要先將JSON字符串解析為JSON對象,再將解析后的JSON對象傳遞給靜態(tài)方法進(jìn)行處理。
#include <stdio.h> #include <jansson.h> static void process_json(json_t* json_obj) { const char* name; double age; json_unpack(json_obj, "{s:s, s:f}", "name", &name, "age", &age); printf("Name: %s, Age: %f\n", name, age); } int main() { const char* json_str = "{\"name\": \"Tom\", \"age\": 25.6}"; json_error_t error; json_t* json_obj = json_loads(json_str, 0, &error); if (!json_obj) { fprintf(stderr, "Error on line %d: %s\n", error.line, error.text); return 1; } process_json(json_obj); json_decref(json_obj); return 0; }
在上面的示例代碼中,我們首先使用json_loads函數(shù)將JSON字符串解析為JSON對象。然后我們將這個JSON對象傳遞給靜態(tài)方法process_json進(jìn)行處理。
在process_json中,我們使用json_unpack函數(shù)從JSON對象中提取出我們需要的信息。這里我們提取出了名字(name)和年齡(age)兩個字段。
最后,我們在主函數(shù)中釋放JSON對象的內(nèi)存。