在C語言中,使用JSON調用數據可以通過第三方庫進行。
常用的JSON庫有cJSON和json-c兩種。
使用cJSON庫調用JSON數據可以先解析JSON字符串,然后使用cJSON_GetObjectItem等函數獲取對應的JSON對象或值。
//解析JSON字符串 cJSON *json = cJSON_Parse(json_str); //獲取JSON對象 cJSON *obj = cJSON_GetObjectItem(json, "key_name"); //獲取JSON值 double value = cJSON_GetObjectItem(json, "key_name")->valuedouble;
而json-c庫則是先將JSON字符串轉換成json_object對象,然后使用json_object_object_get等函數獲取對應的JSON對象或值。
//將JSON字符串轉換為json_object對象 json_object *json = json_tokener_parse(json_str); //獲取JSON對象 json_object *obj = json_object_object_get(json, "key_name"); //獲取JSON值 double value = json_object_get_double(json_object_object_get(json, "key_name"));
通過以上代碼示例,我們可以看出cJSON和json-c在調用JSON數據上的使用方式有所不同,但均能夠實現JSON數據的解析和訪問。