JSON是一種輕量級的數(shù)據(jù)交換格式,常用于前后端數(shù)據(jù)傳輸和存儲。而使用C語言解析JSON數(shù)據(jù),需要借助第三方庫JSON-C或者JSON.dll。
JSON.dll是一個Windows平臺下的C語言解析JSON數(shù)據(jù)的第三方庫,官方提供了完整的使用文檔和代碼示例。
#include <stdio.h> #include <stdlib.h> #include <json.h> int main(int argc, char** argv) { char* json_string = "{\"name\":\"Tom\",\"age\":20,\"gender\":\"male\"}"; json_object* obj = json_tokener_parse(json_string); json_object* name_obj = json_object_object_get(obj, "name"); const char* name_str = json_object_get_string(name_obj); json_object* age_obj = json_object_object_get(obj, "age"); int age_int = json_object_get_int(age_obj); json_object* gender_obj = json_object_object_get(obj, "gender"); const char* gender_str = json_object_get_string(gender_obj); printf("name: %s, age: %d, gender: %s\n", name_str, age_int, gender_str); json_object_put(obj); return 0; }
以上代碼演示了JSON.dll解析JSON數(shù)據(jù)的基本用法。首先使用json_tokener_parse將JSON字符串轉(zhuǎn)化為json_object對象,然后使用json_object_object_get獲取指定的key對應(yīng)的value,最后使用json_object_get_string或json_object_get_int將value轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)類型。
需要注意的是,使用JSON.dll解析JSON數(shù)據(jù)之前,需要先在工程中添加JSON.dll的鏈接庫文件,并在代碼中引用json.h頭文件。