關于C語言中的JSON數據轉化為字符串數組這一功能,在程序開發中是非常常見的需求。下面我們來了解如何實現這一操作。
#include#include #include #include #include "cJSON.h" #define MAX_VALUE_LEN 1024 bool cJSONToArray(const cJSON *json, char *strArray[], int *index) { if (json == NULL || strArray == NULL || index == NULL) { return false; } if (cJSON_IsArray(json)) { cJSON *arrayElem = NULL; cJSON_ArrayForEach(arrayElem, json) { cJSONToArray(arrayElem, strArray, index); } } else { char *jsonStr = cJSON_Print(json); if (jsonStr != NULL) { if (*index< MAX_VALUE_LEN) { strArray[(*index)++] = jsonStr; } else { free(jsonStr); return false; } } } return true; } int main() { char *jsonStr = "{\"name\":\"張三\",\"age\":24,\"hobby\":[\"跑步\",\"看書\",\"旅游\"]}"; cJSON *json = cJSON_Parse(jsonStr); char *strArray[MAX_VALUE_LEN]; memset(strArray, 0, sizeof(strArray)); int index = 0; if (cJSONToArray(json, strArray, &index)) { for (int i = 0; i< index; i++) { printf("%s\n", strArray[i]); free(strArray[i]); } } cJSON_Delete(json); return 0; }
代碼中使用了cJSON庫,將JSON數據解析為cJSON格式的數據。函數
在主函數中,我們先將JSON數據解析為cJSON格式,在調用
上一篇vue實戰視頻下載
下一篇python 數學組合