在C語言中,對象是封裝了屬性和方法的數據結構。而JSON是一種輕量級的數據交換格式,常用于網絡傳輸和數據存儲。為了方便在C語言程序中對JSON數據進行處理,需要將對象和JSON之間進行轉換。
/** * 將JSON字符串轉換為對象 * @param jsonStr JSON字符串 * @return 對象 */ Object* json_to_object(char* jsonStr) { // 解析JSON字符串 json_t* root = json_loads(jsonStr, 0, NULL); // 將JSON對象轉換為C對象 Object* obj = (Object*)malloc(sizeof(Object)); obj->name = json_string_value(json_object_get(root, "name")); obj->age = json_integer_value(json_object_get(root, "age")); // 釋放內存 json_decref(root); return obj; } /** * 將對象轉換為JSON字符串 * @param obj 對象 * @return JSON字符串 */ char* object_to_json(Object* obj) { // 創建JSON對象 json_t* root = json_object(); json_object_set_new(root, "name", json_string(obj->name)); json_object_set_new(root, "age", json_integer(obj->age)); // 轉換為JSON字符串 char* jsonStr = json_dumps(root, JSON_INDENT(4)); // 釋放內存 json_decref(root); return jsonStr; }
在上面的代碼中,使用了json-c庫來對JSON進行解析和生成。其中,json_to_object函數將傳入的JSON字符串解析為JSON對象,再將JSON對象轉換為C對象。而object_to_json函數則是將傳入的C對象轉換為JSON對象,再將JSON對象轉換為JSON字符串。
上一篇python 測聲音頻率
下一篇vue exif插件