在C語言中,如何截取JSON數(shù)據(jù)呢?我們可以通過一些庫來實(shí)現(xiàn)這個(gè)功能,例如:Jansson、cJSON等。
接下來,我們以cJSON為例來介紹如何截取JSON:
#include <stdio.h> #include <cjson/cJSON.h> int main() { const char * json_str = "{ \"name\":\"John\", \"age\":30, \"city\":\"New York\" }"; cJSON *root = cJSON_Parse(json_str); // 解析JSON字符串,返回json對(duì)象 // 從json對(duì)象中獲取某個(gè)鍵的value cJSON *name = cJSON_GetObjectItem(root, "name"); cJSON *age = cJSON_GetObjectItem(root, "age"); cJSON *city = cJSON_GetObjectItem(root, "city"); printf("name: %s\n", name->valuestring); // John printf("age: %d\n", age->valueint); // 30 printf("city: %s\n", city->valuestring); // New York cJSON_Delete(root); // 刪除json對(duì)象 return 0; }
這個(gè)例子中,我們首先將json字符串解析為json對(duì)象,然后使用cJSON_GetObjectItem函數(shù)獲取json對(duì)象中指定鍵的value值,最后輸出結(jié)果。
需要注意的是,在使用cJSON_GetObjectItem函數(shù)時(shí),要確保json對(duì)象中確實(shí)存在該鍵,否則會(huì)返回NULL。