JSON файл содержит поле и три массива. Первые 2 массива описывают данные, последний массив содержит массивы с данными, каждый массив это один тип данных описанный в предыдущем массиве. Пример:
{
"head": "111",
"original": [
"1",
"4",
"5",
],
"fields": [
"Rid",
"Guid",
"Options",
],
"values": [
[
6,
0,
1,
[
"{0047B3AB-08B9-1D40-052C-D85868CC4F33}",
"{15DB501E-DBBD-EB79-0E64-225FDBEA848E}",
"{137555FA-DDDF-7AC3-9E61-AD1E0A5402EA}",
],
[
0,
0,
11,
],
]
}
Если запарсить мой пример используя объект:
public class Shtable
{
public string head { get; set; }
public string[] original { get; set; }
public string[] fields { get; set; }
public object[][] values { get; set; }
}
То можно разобрать массивы следующий кодом:
for (int x = 0; x < Shtable.Count(); x++)
{
Value value= new Value
{
Rid = (long)values[0][x], // 6
Guid = (string)values[1][x], // "{0047B3AB-08B9-1D40-052C-D85868CC4F33}"
Options = (long)values[2][x] // 0
}
}
Проблема в том что количество полей не 3, а 69. Хочется избежать использования циклов.
{
public string head { get; set; }
public string[] original { get; set; }
public string[] fields { get; set; }
public object[][] values { get; set; }
}
Но меня не устраивает как разбиты значения, это все тот же массив. Можно использовать for и собрать собственный класс, но может быть есть более правильное решение? Может каждый массив values десериализовать отдельно? – Алексей Прошин Apr 15 '19 at 09:46