在開發中,經常需要從JSON數據中獲取某個屬性的值,在C語言中,可以使用JSON-C庫來解析JSON格式數據,取出其中的數據。下面我們來看一下如何使用JSON-C庫從JSON數據中取出一條數據。
#include#include int main() { // 定義JSON字符串 const char *json_string = "{\"name\":\"張三\",\"age\":18}"; // 解析JSON字符串 struct json_object *json_obj = json_tokener_parse(json_string); // 取出指定屬性的值 struct json_object *name_obj = json_object_object_get(json_obj, "name"); const char *name = json_object_get_string(name_obj); printf("name: %s\n", name); struct json_object *age_obj = json_object_object_get(json_obj, "age"); int age = json_object_get_int(age_obj); printf("age: %d\n", age); // 釋放資源 json_object_put(json_obj); return 0; }
代碼中,我們首先定義了一個JSON字符串,然后調用json_tokener_parse函數解析JSON字符串,得到一個json_object對象。之后,我們調用json_object_object_get函數傳入對象和要獲取的屬性名,就可以得到指定屬性的json_object對象。接著,我們再調用json_object_get_string或json_object_get_int函數,就可以得到屬性的值了。最后,調用json_object_put函數釋放資源,完成整個操作。
上述示例僅針對JSON數據中單一屬性的情況,如果需要取出多條數據,可以參考JSON-C庫提供的官方示例進行操作。同時需要注意,在使用JSON-C庫時應該特別小心,以防止內存泄漏或者空指針異常的出現。
上一篇vue drag