System.InvalidOperationsException при попытке десериализации JSON в список C#C#

Место общения программистов C#
Ответить
Anonymous
 System.InvalidOperationsException при попытке десериализации JSON в список C#

Сообщение Anonymous »

У меня урок

Код: Выделить всё

public class Record
{
public string Name { get; set; }    // Flat owner
public int Size { get; set; }       // Flat size
public int Enterance { get; set; }  // Enterance number
[JsonConstructor]
public Record([JsonPropertyName("Name")] string name,
[JsonPropertyName("Size")] int size,
[JsonPropertyName("Enterance")] int ent)
{
this.Name = name;
this.Size = size;
this.Enterance = ent;
}
}
Это я сериализовал с помощью JsonSerializer в C#, и результат был таким:

Код: Выделить всё

[
{
"Name": "Majitel",
"Size": 100,
"Enterance": 1
}
]
Теперь я хотел бы десериализовать его обратно:

Код: Выделить всё

string json = File.ReadAllText(filepath).Trim();
var records = JsonSerializer.DeserializeObject(json);
Однако вторая строка выдает исключение «System.InvalidOperationException: каждый параметр в конструкторе десериализации типа «.Record» должен быть привязан к свойству или полю объекта при десериализации. Имя каждого параметра должно совпадать со свойством или полем объекта. Поля учитываются только в том случае, если включен JsonSerializerOptions.IncludeFields. Соответствие может быть. без учета регистра."
Я пробовал возиться с конструктором класса, но ничего не помогает, и я не совсем понимаю, в чем проблема, поскольку думаю, что все имена совпадают. Может кто-нибудь объяснить, какую ошибку я делаю и как ее исправить?

Подробнее здесь: https://stackoverflow.com/questions/793 ... son-to-c-s
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»