JSON-C是C語言中一款輕量級的JSON解析器,它可以幫助我們快速解析JSON數據。下面我們將介紹一些JSON-C的實例。
#include <stdio.h> #include <stdlib.h> #include <json-c/json.h> int main() { const char* json_string = "{\"name\":\"小明\",\"age\":18}"; json_object* json_object = json_tokener_parse(json_string); printf("姓名:%s,年齡:%d\n", json_object_get_string(json_object_object_get(json_object, "name")), json_object_get_int(json_object_object_get(json_object, "age"))); return 0; }
在這個實例中,我們首先定義了一個JSON字符串,然后通過json_tokener_parse()函數將其轉換為json_object類型的對象。接著我們通過json_object_object_get()函數獲取到指定鍵的值,最后通過json_object_get_string()和json_object_get_int()函數獲取到該鍵對應的字符串和整型值。
#include <stdio.h> #include <stdlib.h> #include <json-c/json.h> int main() { const char* json_string = "{\"name\":\"小明\",\"sex\":\"男\",\"hobby\":[\"編程\",\"打游戲\"]}"; json_object* json_object = json_tokener_parse(json_string); json_object* hobby_array = json_object_object_get(json_object, "hobby"); int hobby_array_len = json_object_array_length(hobby_array); for(int i = 0; i< hobby_array_len; i++) { json_object* hobby_object = json_object_array_get_idx(hobby_array, i); printf("愛好%d:%s\n", i+1, json_object_get_string(hobby_object)); } return 0; }
這個實例中,我們的JSON字符串中有一個名為hobby的鍵,其對應的值是一個數組。因此,我們首先需要通過json_object_object_get()函數獲取到該鍵對應的json_object對象。然后通過json_object_array_length()函數獲取到該數組的長度,接著通過json_object_array_get_idx()函數獲取到該數組中指定下標的json_object對象。最后通過json_object_get_string()函數獲取到該對象對應的字符串值。
下一篇vue2 過渡