JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,由于易于理解和編寫以及與其他語言的交互性強等優勢,已成為互聯網數據交換的重要方式。而在C語言中,我們也可以使用JSON來進行數據解析。
JSON解析的基本原理是將JSON數據按照一定的規則解析成C語言中的數據結構,如數組、結構體等。在此過程中,需要使用到一些庫函數來處理JSON數據。常見的JSON解析庫有CJSON和JANSSON等。
#include <stdio.h> #include <stdlib.h> #include <cjson/cJSON.h> int main() { char *json_str = "{\"name\":\"Tom\",\"age\":18}"; cJSON *json = cJSON_Parse(json_str); cJSON *name = cJSON_GetObjectItem(json, "name"); cJSON *age = cJSON_GetObjectItem(json, "age"); printf("Name: %s, Age: %d\n", name->valuestring, age->valueint); cJSON_Delete(json); return 0; }
上述代碼使用了cJSON庫進行JSON數據解析,將json_str轉換為C語言中的cJSON對象。使用cJSON_GetObjectItem函數獲取json對象中的name和age屬性,通過cJSON對象的valuestring和valueint成員,可以獲取屬性的值。最后使用cJSON_Delete釋放內存。