JSON是一種輕量級數據交換格式,常用于Web應用程序之間的數據傳輸。在C語言中,我們可以使用第三方庫來解析JSON格式的數據。
以下是使用C語言解析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對象 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對象中的屬性值 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對象中的屬性值 printf("Name: %s\n", name); printf("Age: %d\n", age); printf("Gender: %s\n", gender); // 釋放JSON對象 json_decref(root); return 0; }
上述代碼中使用了jansson庫來解析JSON格式的數據。jansson是一個C語言編寫的JSON解析庫,提供了簡單易用的API,支持從字符串或文件中讀取JSON數據,并可將JSON數據轉換為C語言中的數據類型,方便程序進行處理。