在C語言中,JSON字符串通常被用于數據傳輸和存儲。JSON是一種輕量級的數據交換格式,被廣泛應用于互聯網。在C語言中,我們可以使用第三方庫來處理JSON字符串,比如JSON-C和JSMN。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main(void) { const char *json_string = "{\"name\":\"Alice\",\"age\":20}"; json_t *root; json_error_t error; const char *name; int age; root = json_loads(json_string, 0, &error); if (!root) { fprintf(stderr, "json error on line %d: %s\n", error.line, error.text); return 1; } json_unpack(root, "{s:s,s:i}", "name", &name, "age", &age); printf("name: %s\n", name); printf("age: %d\n", age); json_decref(root); return 0; }
在上述代碼中,我們使用了JSON-C庫來處理JSON字符串。我們定義了一個JSON字符串,表示一個人的姓名和年齡。然后使用json_loads函數將JSON字符串加載到內存中,并解析為一個json_t類型的對象。如果JSON字符串無法被解析或加載失敗,json_loads函數會返回空指針,并提供錯誤信息。
解析JSON對象后,我們可以使用json_unpack函數來獲取JSON對象中的值。這里我們指定了兩個格式參數,一個是字符串類型的"name",另一個是整數類型的"age"。json_unpack函數在解析JSON對象時,會按照指定的格式參數依次解析,將解析得到的結果存儲到指定的變量中。
最后我們釋放json_t類型的對象,釋放內存空間,程序結束。