Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Резюме для программиста

07.12.21 20:21
Re: Резюме для программиста
 
alex445 старожил
в ответ alex445 07.12.21 20:09, Последний раз изменено 07.12.21 20:25 (alex445)

Вот так всё работает.


Бывшие проблемы:


1. Я не понял, что в джейсонке что, поэтому неправильно назвал свойство-коллекцию.

2. Для МСовского десиреалайзера нужно добавить опцию игнора написания большие-маленькие буквы. С ньютонсовтовским и так всё работает.

3. С защищёнными сеттерами не работает. Оно и понятно - как сериалайзер присвоит свойство, если его сеттер снаружи недоступен? Но на интервью я до этого не додумался.


было


public class Item
{
    public string Prop1 { get; protected set; }
    public string Prop2 { get; protected set; }
    public string Desсription { get; protected set; }
}
public class Items
{
    public List<Item> Items { get; set; }
}


стало


public class Item
{
    public string Prop1 { get; set; }
    public string Prop2 { get; set; }
    public string Description { get; set; }
}

public class ItemsCollection
{
    public List<Item> Items { get; set; }
}

JsonSerializerOptions options = new JsonSerializerOptions()
{
    PropertyNameCaseInsensitive = true
};

var itemCollection = JsonSerializer.Deserialize<ItemsCollection>(json, options);

(Здешний редактор кода - просто пи...ц!!)

 

Перейти на