在現代web開發中,JSON已經成為了非常流行的數據交換格式。然而,在C語言中使用JSON需要解析和生成JSON,這就需要一個高效且可靠的JSON解析庫。下面我們將介紹C語言對JSON格式解析的實現。
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <jansson.h> int main() { const char *json_str = "{\"name\": \"Tom\", \"age\": 18}"; json_error_t error; json_t *root = json_loads(json_str, 0, &error); if (root) { json_t *name = json_object_get(root, "name"); json_t *age = json_object_get(root, "age"); if (!json_is_string(name)) { printf("json name error\n"); } if (!json_is_integer(age)) { printf("json age error\n"); } printf("name:%s, age:%ld\n", json_string_value(name), json_integer_value(age)); json_decref(root); } else { printf("json loads error: %s\n", error.text); } return 0; }
在上面的代碼中,我們使用了一個叫做jansson的JSON解析庫。首先我們以一個JSON字符串的形式定義了一個對象,接著使用json_loads函數將這個JSON字符串轉化為一個JSON對象。json_object_get函數則用于獲取JSON對象中的指定字段。最后通過json_is_string和json_is_integer函數對name和age進行類型判斷,如果判斷成功則分別使用json_string_value和json_integer_value函數來獲取他們的值。
總之,對于使用C語言進行JSON解析的開發者來說,jansson是一個高效、可靠且易于使用的解析庫。