在c語言中實現json數據解析是一個很常見的需求。JSON格式是一種常見的數據交換格式,它可以用于數據的傳輸和存儲。使用c語言可以輕松地將JSON格式的數據進行解析和處理。
// include necessary header files #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdbool.h> #include <jansson.h> // json數據解析 void json_parser(char* json_data) { // 解析JSON數據 json_t* root; json_error_t error; root = json_loads(json_data, 0, &error); if(!root) { printf("解析JSON數據出錯:%s\n", error.text); return; } // 從JSON對象中提取需要的數據 json_t* name = json_object_get(root, "name"); json_t* age = json_object_get(root, "age"); json_t* email = json_object_get(root, "email"); // 將JSON數據轉換成c語言中使用的數據類型 char* name_str = json_string_value(name); int age_int = json_integer_value(age); char* email_str = json_string_value(email); // 輸出解析后的數據 printf("姓名:%s\n年齡:%d\n郵箱:%s", name_str, age_int, email_str); // 釋放內存 json_decref(root); } int main() { char* json_data = "{ \"name\": \"Tom\", \"age\": 35, \"email\": \"tom@email.com\" }"; json_parser(json_data); return 0; }
在上面的代碼中,使用了json解析庫jansson。json_parser函數用于解析json數據,并將解析后的數據轉換成c語言中使用的數據類型,最后輸出相應的解析結果。在使用完jansson庫后,需要手動釋放相關內存。