JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)格式,常用于數(shù)據(jù)傳輸和存儲(chǔ)。在C語(yǔ)言中,我們可以使用第三方庫(kù)來(lái)解析JSON數(shù)據(jù),然后將其讀取成字段字符串進(jìn)行處理。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { char *str = "{\"name\":\"John\",\"age\":30,\"married\":true}"; json_error_t error; json_t *root = json_loads(str, 0, &error); if (!root) { printf("error: on line %d: %s\n", error.line, error.text); return 1; } json_t *name = json_object_get(root, "name"); json_t *age = json_object_get(root, "age"); json_t *married = json_object_get(root, "married"); const char *name_str = json_string_value(name); int age_int = json_integer_value(age); int married_bool = json_boolean_value(married); printf("name: %s\n", name_str); printf("age: %d\n", age_int); printf("married: %d\n", married_bool); json_decref(root); return 0; }
在上述代碼中,我們首先定義了一個(gè)JSON字符串,然后使用json_loads函數(shù)將其解析為JSON對(duì)象。如果解析失敗,將會(huì)返回錯(cuò)誤信息。接下來(lái),我們使用json_object_get函數(shù)獲取對(duì)象中的字段,并使用對(duì)應(yīng)的json_函數(shù)將其轉(zhuǎn)化為C語(yǔ)言類型,最后輸出每個(gè)字段的值。