C JSON to Dataset 是一個非常實用的工具,可以將 C 語言中的 JSON 數據解析成數據集。
#include "cjson/cJSON.h" void parseJson(char* jsonString) { // 解析 JSON 字符串 cJSON* root = cJSON_Parse(jsonString); // 創建數據集 DATASET* dataset = DATASET_Create(); // 遍歷 JSON 對象中的每一個子節點 cJSON* item = root->child; while(item != NULL) { // 根據子節點的類型添加數據到數據集中 if(cJSON_IsNumber(item)) { DATASET_AddNumberCol(dataset, "", cJSON_GetNumberValue(item)); } else if(cJSON_IsString(item)) { DATASET_AddStringCol(dataset, "", cJSON_GetStringValue(item)); } else if(cJSON_IsArray(item)) { cJSON* subItem = item->child; while(subItem != NULL) { // 同樣根據子節點類型添加數據到數據集中 if(cJSON_IsNumber(subItem)) { DATASET_AddNumberCol(dataset, "", cJSON_GetNumberValue(subItem)); } else if(cJSON_IsString(subItem)) { DATASET_AddStringCol(dataset, "", cJSON_GetStringValue(subItem)); } subItem = subItem->next; } } item = item->next; } // 打印數據集 DATASET_Print(dataset); // 釋放內存 DATASET_Destroy(dataset); cJSON_Delete(root); }
以上代碼展示了如何使用 CJSON 庫解析 JSON 字符串,并將解析結果存儲到數據集中。具體來說,代碼中使用 cJSON_Parse 函數解析 JSON 字符串得到一個 cJSON 對象,然后遍歷該對象的每一個子節點,根據子節點的類型添加對應數據到數據集中。對于 JSON 數組,還需要再次遍歷其子節點以獲取數組中的每一個元素。
最后,調用 DATASET_Print 函數打印數據集,并通過 DATASET_Destroy 函數和 cJSON_Delete 函數釋放內存。
上一篇c json u003e
下一篇python 批量實例化