Member 11725507 Ответов: 1

Я должен построить класс модели для желаемой структуры JSON


"Obj1": {
      0: 17, 
      1: 23,
      2: 23, 
      3: 24,
      4: 25,
      5: 56,
      6: 65
    },
    "Obj2": {0: 177,..,6: 65},      
    "Obj3": {0: 177,..,6: 65},
    "Obj4": {0: 177,..,6: 65}

Может ли кто-нибудь помочь мне наилучшим образом сгенерировать модальный класс? Я использую метод обратной генерации POCO для извлечения данных. Поэтому в основном я буду использовать LINQ для отображения в модальный класс.

Что я уже пробовал:

public class Week
    {
        public int?[] Obj1= new int?[6];

        public int?[] Obj2= new int?[6];

        public int?[] Obj3= new int?[6];

        public int?[] Obj4= new int?[6];
    }

1 Ответов

Рейтинг:
10

Graeme_Grant

Вы можете использовать эту службу для генерации классов из допустимых данных JSON: JSON Utils: генерация C#, VB.Net, SQL Table, Java и PHP из JSON[^]

Ваши данные JSON недействительны. Глядя на ваш класс, это должно быть что-то вроде:

{"Obj1": [
      17, 
      23,
      23, 
      24,
      25,
      56,
      65
    ],
    "Obj2": [177,...,65],
    "Obj3": [177,...,65],
    "Obj4": [177,...,65]
}

Подробнее вы можете прочитать здесь: Работа с JSON в C# и VB[^]


Member 11725507

Спасибо за комментарии. Да, это недействительный JSON. Можно ли по крайней мере создать, как показано ниже, " Obj1": {
"0": 17,
"1": 23,
"2": 23,
"3": 24,
"4": 25,
"5": 56,
"6": 65
}

Graeme_Grant

Да, вы можете, однако свойства должны быть действительными именами. "0" недопустимо, однако, как и в связанной статье, вы можете использовать JsonProperty сопоставление с допустимым именем свойства. Что-то вроде:

[JsonProperty("0")]
public string Field0 { get; set; }

Member 11725507

Большое спасибо за решение

Graeme_Grant

Добро пожаловать... :)