在C語言中,如果需要將JSON字符串轉換成鍵值對的形式,可以使用JSON-C這個開源庫來實現。下面是一個簡單的例子:
#include<stdio.h> #include<json-c/json.h> int main(){ char *json_string = "{ \"name\":\"Tom\", \"age\":18, \"score\":{\"math\":90, \"english\":80} }"; struct json_object *json_obj = json_tokener_parse(json_string); struct json_object *name_obj, *age_obj, *score_obj, *math_obj, *english_obj; json_object_object_get_ex(json_obj, "name", &name_obj); json_object_object_get_ex(json_obj, "age", &age_obj); json_object_object_get_ex(json_obj, "score", &score_obj); json_object_object_get_ex(score_obj, "math", &math_obj); json_object_object_get_ex(score_obj, "english", &english_obj); printf("Name: %s\n", json_object_get_string(name_obj)); printf("Age: %d\n", json_object_get_int(age_obj)); printf("Math Score: %d\n", json_object_get_int(math_obj)); printf("English Score: %d\n", json_object_get_int(english_obj)); json_object_put(json_obj); return 0; }
在上面的代碼中,我們首先定義了一個JSON字符串,然后使用json_tokener_parse函數將其解析成一個json_object對象。接著,我們使用json_object_object_get_ex函數從json_object對象中獲取具體的鍵值對,然后打印出來。
需要注意的是,在使用完json_object對象后,一定要使用json_object_put函數來釋放其占用的內存。
上一篇get 能傳json 嗎
下一篇python 文件解壓縮