C語言是一門常用的編程語言,用于編寫底層系統軟件以及高性能的應用程序。在現代互聯網應用中,JSON成為了一種廣泛使用的數據格式,因此C讀取JSON已經成為了C語言程序開發中的一個必備技能。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main() {
char *json_string = "{ \"name\": \"John\", \"age\": 35, \"married\": true }";
json_error_t error;
json_t *root = json_loads(json_string, JSON_DECODE_ANY, &error);
if(!root) {
printf("JSON解析錯誤:%s\n", error.text);
return 1;
}
const char *name = json_string_value(json_object_get(root, "name"));
int age = json_integer_value(json_object_get(root, "age"));
int married = json_boolean_value(json_object_get(root, "married"));
printf("姓名:%s\n年齡:%d\n是否已婚:%s\n", name, age, married ? "是" : "否");
json_decref(root);
return 0;
}
通過使用jansson庫中提供的函數,我們可以輕松地將JSON字符串解析為JSON對象,并通過json_object_get函數獲取對象中指定元素的值。
示例中使用的json_string_value、json_integer_value和json_boolean_value函數可以分別將JSON字符串、JSON數字和JSON布爾值轉換為C語言中的相應類型(字符串、整型和布爾型)。
在處理完JSON對象后,我們可以使用json_decref函數釋放內存空間。