C JSON是一種輕量級的數據交換格式,被廣泛應用在web開發、移動應用開發等領域。C語言中的JSON提取是非常重要的一個方面。
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<jansson.h> int main(){ char *json_str = "{\"name\":\"Tom\",\"age\":18,\"gender\":\"male\"}"; json_t *json_obj = NULL; json_error_t error; json_obj = json_loads(json_str, 0, &error); if(!json_obj){ printf("load error!\n"); exit(1); } json_t *name = json_object_get(json_obj, "name"); if(name){ if(json_is_string(name)){ printf("name:%s\n", json_string_value(name)); }else{ printf("name is not string!\n"); } }else{ printf("no name key!\n"); } json_t *age = json_object_get(json_obj, "age"); if(age){ if(json_is_integer(age)){ printf("age:%d\n", (int)json_integer_value(age)); }else{ printf("age is not integer!\n"); } }else{ printf("no age key!\n"); } json_t *gender = json_object_get(json_obj, "gender"); if(gender){ if(json_is_string(gender)){ printf("gender:%s\n", json_string_value(gender)); }else{ printf("gender is not string!\n"); } }else{ printf("no gender key!\n"); } json_decref(json_obj); return 0; }
在這個例子中,我們用一個JSON字符串初始化了一個json_t對象,然后已知JSON鍵值對的key來提取value。這個例子展示了如何在C語言中使用JSON提取。