Задать вопрос
Этот вопрос закрыт для ответов, так как повторяет вопрос Как правильно описать класс для библиотеки Newtonsoft.Json C#?
@baimkin

Как правильно десериализовать JSON в объект класса C#?

Как правильно написать класс для десериализации JSON

{"01":{"tz":{"251713":{"24586452":{"id":251713,"order":"305510010923","date":"2023-09-01 11:05:51","stock":3,"price_in":9743,"price_out":12315}},"982446":{"24571705":{"id":982446,"order":"131210010923","date":"2023-09-01 11:11:16","stock":1,"price_in":92,"price_out":233}},"65341":{"24571705":{"id":65341,"order":"131210010923","date":"2023-09-01 11:11:16","stock":3138,"price_in":1,"price_out":23},"24588297":{"id":65341,"order":"101115010923","date":"2023-09-01 15:14:14","stock":3114,"price_in":1,"price_out":23},"24588679":{"id":65341,"order":"372817010923","date":"2023-09-01 17:39:55","stock":3103,"price_in":1,"price_out":23},"24588836":{"id":65341,"order":"145618010923","date":"2023-09-01 18:58:48","stock":3095,"price_in":1,"price_out":23}}}}}


Пробовал вот так, но не работает:
public class Root
        {
            public Dictionary<string, Item> Items { get; set; }
        }
        public class Item
        {
            public Dictionary<string, Order> Orders { get; set; }
        }

        public class Order
        {
            public Dictionary<string, Product> Product { get; set; }
        }

        public class Product
        {
            public int Id { get; set; }
            public string OrderNumber { get; set; }
            public string Date { get; set; }
            public int Stock { get; set; }
            public int PriceIn { get; set; }
            public int PriceOut { get; set; }
        }
  • Вопрос задан
  • 132 просмотра
Подписаться 1 Простой
Решения вопроса 3
Gromilo
@Gromilo
Что-то редактор угловые скобки пожрал в вопросе, оформляйте как код.

По идее тут полно вложенных словарей.
Вот такой тип должен десериализоваться:
Dictionary<string,  Dictionary<string,   Dictionary<long,   Dictionary<long,  Product >>>> items


От словарей можно понаследоваться, но я не пробовал.

Update:
Придётся таки от словарей понаследоваься, т.к. компилятор не вывозить такаю вложенность женериков.
Работающий пример десирилализации
Ответ написан
Adler_lug
@Adler_lug
В таких случаях хорошо помогает https://app.quicktype.io/
Ответ написан
VoidVolker
@VoidVolker Куратор тега C#
Dark side eye. А у нас печеньки! А у вас?
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы