C 標(biāo)準(zhǔn)庫提供了許多方便的功能,其中之一就是對(duì) JSON 格式的支持。通過使用相關(guān)的頭文件和函數(shù),我們可以輕松地解析和生成 JSON 數(shù)據(jù)。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main(void) { char *json_string = "{\"name\":\"Alice\",\"age\":20}"; json_error_t error; json_t *json = json_loads(json_string, 0, &error); if(json == NULL) { printf("An error occurred: %s\n", error.text); return 1; } json_t *name = json_object_get(json, "name"); json_t *age = json_object_get(json, "age"); printf("Name: %s\nAge: %d\n", json_string_value(name), json_integer_value(age)); json_decref(json); return 0; }
上面的代碼演示了如何解析一個(gè) JSON 字符串,并提取其中的屬性值。首先,我們使用json_loads
函數(shù)將字符串轉(zhuǎn)換為一個(gè) JSON 對(duì)象,當(dāng)轉(zhuǎn)換出現(xiàn)錯(cuò)誤時(shí),會(huì)通過json_error_t
參數(shù)返回錯(cuò)誤信息,并返回空指針。接下來,通過json_object_get
函數(shù)獲取 JSON 對(duì)象中的屬性值,并使用相應(yīng)的json_*
函數(shù)獲取其值。
除了解析外,我們還可以使用相應(yīng)的函數(shù)生成 JSON 數(shù)據(jù),例如json_pack
函數(shù)和json_object_set
函數(shù)。通過深入了解 C 標(biāo)準(zhǔn)庫中的 JSON 支持,我們可以更加方便地處理 JSON 數(shù)據(jù)。