C語言中有很多使用json數據格式的項目,處理json數據十分常見。而把json字符串轉換為c中可操作的數據類型是一個基本的操作。下面我們將介紹常用的c json字符串轉換類庫。
一個常用的json解析庫是
json-c。它可以用于解析或產生json數據。下面是一個解析json字符串的例子:
const char *json_str = "{\"name\":\"Alice\",\"age\":20,\"is_active\":true}"; json_object *root = json_tokener_parse(json_str); json_object *name; json_object *age; json_object *is_active; json_object_object_get_ex(root, "name", &name); json_object_object_get_ex(root, "age", &age); json_object_object_get_ex(root, "is_active", &is_active); printf("name: %s\n", json_object_get_string(name)); printf("age: %d\n", json_object_get_int(age)); printf("is_active: %s\n", json_object_get_boolean(is_active) ? "true" : "false");
以上代碼調用了
json_tokener_parse()函數將字符串轉為json對象。代碼中用
json_object_object_get_ex()函數獲取json對象中的各屬性值,并用不同類型的函數取出各個屬性的值。
當然,除了json-c外,還有許多其它的c json庫,如
cJSON和
Jansson。這些庫在使用上也有類似之處。
總之,c語言在處理json這個常用的數據交換格式時,依賴json解析類庫。 上面提到的幾個庫都十分實用,你可以根據你的需求來選擇合適的工具。
下一篇vue $force