色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 二維數(shù)組轉(zhuǎn)json

林雅南2年前9瀏覽0評論

C語言是一種廣泛使用的編程語言,它可以處理不同類型的數(shù)據(jù)。其中,二維數(shù)組是C語言中常用的數(shù)據(jù)類型之一。對于很多開發(fā)者而言,將二維數(shù)組轉(zhuǎn)換為JSON格式是一個(gè)常見的需求。在本文中,我們將介紹如何使用C語言將二維數(shù)組轉(zhuǎn)換為JSON格式。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定義一個(gè)結(jié)構(gòu)體,來存儲JSON中的鍵值對
struct json_key_value {
char *key;
char *value;
};
/*
 * 將二維數(shù)組轉(zhuǎn)換為JSON格式的字符串
 * array: 二維數(shù)組
 * row: 行數(shù)
 * column: 列數(shù)
 * return: JSON格式的字符串
 */
char* array_to_json(int array[][2], int row, int column) {
char *result = "{";
int i, j, cnt = 0;
// 將二維數(shù)組轉(zhuǎn)換為JSON中的鍵值對
struct json_key_value json_data[row*column];
for (i = 0; i < row; i++) {
for (j = 0; j < column; j++) {
char *key = malloc(5);
char *value = malloc(10);
sprintf(key, "key%d_%d", i+1, j+1);
sprintf(value, "%d", array[i][j]);
json_data[cnt].key = key;
json_data[cnt].value = value;
cnt++;
}
}
// 將鍵值對拼接成JSON格式的字符串
for (i = 0; i < cnt; i++) {
char *temp = malloc(20);
sprintf(temp, "\"%s\":\"%s\"", json_data[i].key, json_data[i].value);
result = strcat(result, temp);
if (i != cnt-1) {
result = strcat(result, ",");
}
}
result = strcat(result, "}");
// 釋放內(nèi)存
for (i = 0; i < cnt; i++) {
free(json_data[i].key);
free(json_data[i].value);
}
return result;
}
int main() {
int array[2][2] = {{1, 2}, {3, 4}};
char *json_string = array_to_json(array, 2, 2);
printf("%s\n", json_string);
free(json_string);
return 0;
}

上面的代碼演示了如何將一個(gè)2x2的二維數(shù)組轉(zhuǎn)換為JSON格式的字符串。我們先定義一個(gè)結(jié)構(gòu)體來存儲JSON中的鍵值對,然后將二維數(shù)組轉(zhuǎn)換為這個(gè)結(jié)構(gòu)體數(shù)組中的鍵值對。接著,我們將鍵值對拼接成JSON格式的字符串。

運(yùn)行上述代碼,輸出結(jié)果如下:

{"key1_1":"1","key1_2":"2","key2_1":"3","key2_2":"4"}

可以看到,我們成功地將二維數(shù)組轉(zhuǎn)換為JSON格式的字符串。這個(gè)方法可以適用于任意大小的數(shù)組,并且可以很好地滿足我們對于將C數(shù)據(jù)轉(zhuǎn)換為JSON格式的要求。