JSON是一種輕量級的數據格式,常用于前后端數據傳輸和存儲。C語言提供了許多庫用于json文件的讀取和處理,本文將介紹其中一種常用的庫libjson-c。
libjson-c是一個基于C語言的JSON解析庫,其主要功能是將JSON字符串或文件解析成C語言中的數據類型。其使用方法如下:
#include <json.h> void parse_json(char* json_str) { json_object* json_obj = json_tokener_parse(json_str); json_object_object_foreach(json_obj, key, val) { //讀取每個鍵值對 printf("Key: %s, Value: %s\n", key, json_object_to_json_string(val)); } json_object_put(json_obj); }
通過調用json_tokener_parse函數將JSON字符串解析成json_object類型,然后使用json_object_object_foreach函數對每個鍵值對進行遍歷,最后使用json_object_put釋放內存。
當然,除了解析JSON字符串,libjson-c還支持從文件中讀取JSON數據。示例代碼如下:
#include <stdio.h> #include <json.h> void parse_json_file(char* file_path) { FILE* fp = fopen(file_path, "r"); char buff[1024]; fread(buff, 1, 1024, fp); fclose(fp); json_object* json_obj = json_tokener_parse(buff); json_object_object_foreach(json_obj, key, val) { //讀取每個鍵值對 printf("Key: %s, Value: %s\n", key, json_object_to_json_string(val)); } json_object_put(json_obj); }
以上代碼從文件中讀取JSON數據到緩沖區,然后將緩沖區中的數據解析成json_object類型,最后同樣使用json_object_object_foreach函數對每個鍵值對進行遍歷。
總之,libjson-c是一個常用的C語言JSON解析庫,使用簡單,功能強大,可以輕松地完成JSON數據的解析和讀取。
上一篇mysql轉pdm