JSON是一種輕量級(jí)數(shù)據(jù)交換格式,常用于Web應(yīng)用程序之間的數(shù)據(jù)傳輸。在C語(yǔ)言中,我們可以使用第三方庫(kù)來(lái)解析JSON格式的數(shù)據(jù)。
以下是使用C語(yǔ)言解析JSON格式的示例代碼:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <jansson.h> int main() { // JSON字符串 const char* json_str = "{ \"name\": \"Zhang San\", \"age\": 20, \"gender\": \"Male\" }"; // JSON對(duì)象 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; } // 獲取JSON對(duì)象中的屬性值 const char* name; int age; const char* gender; if(json_unpack(root, "{s:s, s:i, s:s}", "name", &name, "age", &age, "gender", &gender) != 0) { fprintf(stderr, "Error: Failed to unpack JSON object.\n"); return 1; } // 輸出JSON對(duì)象中的屬性值 printf("Name: %s\n", name); printf("Age: %d\n", age); printf("Gender: %s\n", gender); // 釋放JSON對(duì)象 json_decref(root); return 0; }
上述代碼中使用了jansson庫(kù)來(lái)解析JSON格式的數(shù)據(jù)。jansson是一個(gè)C語(yǔ)言編寫的JSON解析庫(kù),提供了簡(jiǎn)單易用的API,支持從字符串或文件中讀取JSON數(shù)據(jù),并可將JSON數(shù)據(jù)轉(zhuǎn)換為C語(yǔ)言中的數(shù)據(jù)類型,方便程序進(jìn)行處理。