JSON是一種常見(jiàn)的數(shù)據(jù)格式,它被廣泛應(yīng)用于Web開(kāi)發(fā)中。C語(yǔ)言中也有許多JSON解析庫(kù),其中比較受歡迎的是cJSON。
cJSON是一款輕量級(jí)的JSON解析庫(kù),它支持將JSON字符串解析成C語(yǔ)言中的對(duì)象數(shù)組(數(shù)組中每個(gè)元素為一個(gè)對(duì)象)。下面我們來(lái)看一段示例代碼:
// JSON字符串 const char* json_str = "{" "\"name\": \"Tom\"," "\"age\": 18," "\"email\": \"tom@example.com\"" "}"; // 解析JSON字符串 cJSON* root = cJSON_Parse(json_str); if (root == NULL) { // 解析失敗 return; } // 獲取個(gè)人信息 const char* name = cJSON_GetObjectItem(root, "name")->valuestring; int age = cJSON_GetObjectItem(root, "age")->valueint; const char* email = cJSON_GetObjectItem(root, "email")->valuestring; // 構(gòu)造對(duì)象數(shù)組 Person persons[] = { {name, age, email} }; // 釋放資源 cJSON_Delete(root);
這段代碼將JSON字符串解析成了一個(gè)對(duì)象數(shù)組,即Person結(jié)構(gòu)體的數(shù)組。使用該方法可以快速解析JSON字符串,方便地得到所需的數(shù)據(jù)。
需要注意的是,cJSON解析庫(kù)還支持將C語(yǔ)言中的結(jié)構(gòu)體轉(zhuǎn)換成JSON字符串。有需要的讀者可以參考相關(guān)文檔和示例。