C 語言是一種經典的編程語言,在編寫程序時需要使用各種數據格式。其中 JSON 格式是一種常見的數據格式,C 語言中讀取 JSON 為字符串的方法也變得越來越流行。
#include <stdio.h> #include <jansson.h> int main() { char *json_str = "{\"name\": \"Tom\", \"age\": 18}"; json_error_t error; json_t *root = json_loads(json_str, 0, &error); if (!root) { fprintf(stderr, "Error: on line %d: %s\n", error.line, error.text); return 1; } char *json_dump_string = json_dumps(root, JSON_INDENT(4)); printf("%s\n", json_dump_string); json_decref(root); free(json_dump_string); return 0; }
上面的代碼使用了 json-c 庫,json_loads 按照給定的字符串輸入創建一個 JSON 對象,然后 json_dumps 將 JSON 對象編碼為 JSON 字符串。在輸出 JSON 前可使用 JSON_INDENT 進行格式化。
這是一個基本的讀取 JSON 為字符串的例子,在實際開發中,可能用戶需要從文件或者網絡中讀取 JSON 數據。因此,需要適當的修改代碼,比如使用 json_load_file 或者 json_loadb 等函數讀入 JSON 數據。