cjson是一個用來打包json的庫,其代碼簡單、易于使用。使用cjson,我們可以將任意的數據打包成標準的json格式,方便傳輸和處理。
const char *str = "{\"name\":\"Tom\",\"age\":18}"; cJSON *json = cJSON_Parse(str); if (json) { char *text = cJSON_Print(json); printf("%s\n", text); free(text); } cJSON_Delete(json);
以上是基本的使用方法。首先將json字符串解析成cJSON對象,然后使用cJSON_Print將其重新打包成字符串。需要注意的是,在使用完cJSON對象后,需要使用cJSON_Delete進行清除。
cJSON *root = cJSON_CreateObject(); cJSON *array = cJSON_CreateArray(); cJSON *num; for (int i = 0; i< 3; i++) { num = cJSON_CreateNumber(i); cJSON_AddItemToArray(array, num); } cJSON_AddNumberToObject(root, "id", 100); cJSON_AddStringToObject(root, "name", "Jack"); cJSON_AddItemToObject(root, "array", array); char *text = cJSON_Print(root); printf("%s\n", text); free(text); cJSON_Delete(root);
上述代碼演示了如何創建一個復雜的cJSON對象,并將其打包成json格式。在這個例子中,我們創建了一個對象,包含了一個數字、一個字符串和一個數組。使用cJSON_AddItemToArray將數字插入數組,然后使用cJSON_AddNumberToObject和cJSON_AddStringToObject將數字和字符串添加到對象中。最終將整個對象打包成字符串。
總之,cjson是一個方便實用的json打包庫,可以在各種情況下使用。其操作簡單、代碼清晰,非常適合初學者使用。
下一篇cl json