C語言是一門高級程序設計語言,常用于嵌入式軟件、操作系統、網絡通信等領域。而在開發過程中,我們常常需要將數據轉換為JSON格式,以便傳輸或存儲數據。下面我們來看一下如何將C語言中的List轉換為JSON格式。
//引入JSON庫
#include "json.h"
//定義List
struct list{
int a;
int b;
char c[20];
}List;
//將List轉換為JSON格式
char* list_to_json(struct list *curList){
//創建Json對象
json_object *jobj = json_object_new_object();
//添加屬性
json_object_object_add(jobj, "a", json_object_new_int(curList->a));
json_object_object_add(jobj, "b", json_object_new_int(curList->b));
json_object_object_add(jobj, "c", json_object_new_string(curList->c));
//返回字符串格式的JSON
return json_object_to_json_string(jobj);
}
以上代碼中,我們利用了JSON庫中的json_object來創建JSON對象,并通過json_object_object_add方法向JSON對象中添加屬性,最終將JSON對象轉換為字符串格式的JSON數據。
除此之外,我們還可以通過循環遍歷List中的數據,將List轉換為JSON數組。
//將List數組轉換為JSON數組
char* list_array_to_json(struct list *curList[], int listSize){
//創建Json對象
json_object *jarray = json_object_new_array();
//遍歷List數組,并添加到JSON數組中
for(int i=0; ia));
json_object_object_add(jobj, "b", json_object_new_int(curList[i]->b));
json_object_object_add(jobj, "c", json_object_new_string(curList[i]->c));
//將JSON對象添加到JSON數組中
json_object_array_add(jarray, jobj);
}
//返回字符串格式的JSON數組
return json_object_to_json_string(jarray);
}
以上代碼中,我們通過循環遍歷List數組,將每個List對象轉換為對應的JSON對象,并添加到JSON數組中,最終將JSON數組轉換為字符串格式的JSON數據。
通過以上代碼的實現,我們可以將C語言中的List轉換為JSON格式,實現數據的傳輸和存儲。