C語言中有很多常用的數據類型,其中之一就是JSON格式的數據類型。它在處理數據的時候非常方便,在現代的互聯網應用程序開發中得到了廣泛的應用。在C語言中查找JSON格式的數據類型也是非常簡單的,接下來我們將介紹一些方法。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main(){ char *json_string = "{\"name\":\"John\",\"age\":24,\"city\":\"New York\"}"; //json字符串 json_t *root; json_error_t error; root = json_loads(json_string, 0, &error); //解析json字符串 if(!root){ fprintf(stderr, "json error on line: %d %s\n", error.line, error.text); return 1; } json_t *name = json_object_get(root, "name"); //獲取json對象中的name鍵對應的值 const char *name_str = json_string_value(name); //將name鍵對應的json字符串轉換為C中的字符串類型char * printf("name:%s\n", name_str); json_t *age = json_object_get(root, "age"); //獲取json對象中的age鍵對應的值 int age_num = json_integer_value(age); //將age鍵對應的json數字轉換為C中的int類型 printf("age:%d\n", age_num); json_t *city = json_object_get(root, "city"); //獲取json對象中的city鍵對應的值 const char *city_str = json_string_value(city); //將city鍵對應的json字符串轉換為C中的字符串類型char * printf("city:%s\n", city_str); json_decref(root); //釋放json對象的內存 return 0; }
上述代碼中,我們使用了jansson這個C語言庫來解析json字符串并獲取其中的數據。其中,json_t
是該庫中用于表示json數據的數據類型,它可以表示json對象、json數組、json數字、json字符串等不同類型的數據。我們可以使用json_object_get
函數來獲取json對象中的鍵值對應的數據,同時使用json_string_value
和json_integer_value
函數將對應的json字符串和json數字轉換為C語言中的字符串和數字類型。