C語言是一種被廣泛應用的編程語言,很多開發者用C語言來實現各種功能。其中,將C類轉換為json字符串數組對象數組對象非常實用,這樣可以方便地對數據進行存儲和傳輸。
下面我們來看一下如何實現這個功能。
#include "cJSON.h" // C類轉換為json字符串 char* toJsonString(C c){ cJSON *root = cJSON_CreateObject(); // 創建根節點 cJSON_AddItemToObject(root, "field1", cJSON_CreateString(c.field1)); // 添加子節點并進行賦值 cJSON_AddItemToObject(root, "field2", cJSON_CreateNumber(c.field2)); char* jsonString = cJSON_Print(root); // 生成json字符串 cJSON_Delete(root); // 刪除根節點 return jsonString; } // json字符串數組轉換為C類數組 C* fromJsonStringArray(char* jsonArray, int* size){ cJSON* root = cJSON_Parse(jsonArray); // 解析json字符串數組 *size = cJSON_GetArraySize(root); // 獲取數組長度 C* cArray = (C*)malloc((*size) * sizeof(C)); // 創建C類數組 for(int i=0; i<*size; i++){ cJSON* item = cJSON_GetArrayItem(root, i); // 獲取數組元素 cArray[i].field1 = cJSON_GetObjectItem(item, "field1")->valuestring; // 獲取數組元素的子節點的值 cArray[i].field2 = cJSON_GetObjectItem(item, "field2")->valueint; } cJSON_Delete(root); // 刪除根節點 return cArray; } // C類數組轉換為json字符串數組對象數組 char* toJsonStringArray(C* cArray, int size){ cJSON* root = cJSON_CreateArray(); // 創建根節點數組 for(int i=0; i使用以上代碼,我們可以方便地將C類轉換為json字符串數組對象數組對象,并實現數據的存儲和傳輸。