c json數組編碼解碼
在C語言中,想要操作JSON數組,就需要對它進行編碼和解碼。這里就來介紹一下如何進行C語言JSON數組編碼和解碼。
JSON數組編碼
/* 生成類似于 [1,2,3,4,5] 的JSON數組 */ void json_encode_array(char* buffer, int* array, int length) { sprintf(buffer, "["); for (int i = 0; i< length; i++) { char num_str[32]; sprintf(num_str, "%d", array[i]); strcat(buffer, num_str); if (i != length - 1) { strcat(buffer, ","); } } strcat(buffer, "]"); }
JSON數組解碼
/* 將形如 [1,2,3,4,5] 的JSON數組解析為整形數組 */ int* json_decode_array(char* json_str, int length) { int* array = (int*)malloc(sizeof(int) * length); int index = 0; char* num_token = strtok(json_str, ","); while (num_token != NULL) { array[index++] = atoi(num_token); num_token = strtok(NULL, ","); } return array; }
使用示例
int main() { char buffer[128]; int array[] = {1, 2, 3, 4, 5}; json_encode_array(buffer, array, 5); printf("json_encode_array() result: %s\n", buffer); char json_str[] = "[1,2,3,4,5]"; int* decoded_array = json_decode_array(json_str, 5); for (int i = 0; i< 5; i++) { printf("%d ", decoded_array[i]); } printf("\n"); free(decoded_array); return 0; }
以上就是C語言JSON數組編碼和解碼的基本操作。開發者們可以根據需要對其進行修改和擴展。