JSON(JavaScript Object Notation)是一種輕量級且易于閱讀的數據交換格式,經常用于Web服務和API的數據傳輸。在C語言中,解析JSON數據類型的方法如下:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { char *json_string = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}"; json_t *root; json_error_t error; root = json_loads(json_string, 0, &error); if (!root) { printf("error: on line %d: %s\n", error.line, error.text); return 1; } json_t *name = json_object_get(root, "name"); if (!json_is_string(name)) { printf("error: name is not a string\n"); json_decref(root); return 1; } const char *name_str = json_string_value(name); printf("name: %s\n", name_str); json_decref(root); return 0; }
首先,在代碼中導入json.h文件。
接著,我們需要先將JSON字符串解析為JSON根對象。
json_t *root; json_error_t error; root = json_loads(json_string, 0, &error); if (!root) { printf("error: on line %d: %s\n", error.line, error.text); return 1; }
然后,我們可以通過JSON對象獲取JSON字符串值。
json_t *name = json_object_get(root, "name"); if (!json_is_string(name)) { printf("error: name is not a string\n"); json_decref(root); return 1; } const char *name_str = json_string_value(name); printf("name: %s\n", name_str);
最后,必須釋放JSON根對象以避免內存泄漏。
json_decref(root);
在實際應用中,我們需要檢查JSON數據類型是否正確以及獲取正確的JSON對象和數組。但是,這個示例展示了如何輕松地在C語言中解析JSON格式數據類型。
上一篇python 爬取b站
下一篇c 怎么打開json文件