Я получаю исключение IndexOutOfRangeException при попытке использовать JSON.NET для сериализации и массива объектов, полученных из диапазона excel. Я думаю, причина, по которой это происходит, заключается в том, что массив excel не равен нулю.JSON.NET не удалось сериализовать массив excel
Если я создать массив, как это в .NET, размеры будут {object[4,2]}
object[,] data = {
{ 1111, 1111 },
{ 1112, 1111 },
{ 1113, 1111 },
{ 1114, 1111 },
};
Когда я смотрю на массиве, извлеченный из Excel, однако, я вижу:
{object[1..4, 1..2]}
Это ошибка в JSON.Net. Я думаю, что если я смогу сделать массив нулевым, это сработает. но не уверен, как сделать это легко, не создавая новый массив и копируя значения один за другим. Есть предположения?
UPDATE: Я пробовал следующее и выглядит так, как этот код будет делать трюк, чтобы скопировать массив, начиная с индекса 1, в массив, основанный на нуле. Тем не менее, я никогда не знал, что .net-массивы могут быть отличными от нуля.
object[,] zeroBasedArr = new object[oneBasedArr.GetLength(0), oneBasedArr.GetLength(1)];
Array.Copy(oneBasedArr, 1, darr, 0, oneBasedArr.GetLength(0) * oneBasedArr.GetLength(1));