@BloodyBlade

Как сформировать json следующего вида?

Всем привет, передо мной встала задача сформировать json в следующем формате:
{
    "#DATE#": {
        "#TIME#": {
            "FREE": "#FREE_VALUE#",
            "PRICE": "PRICE_VALUE"
        },
        ...
        "#TIME#": {
            "FREE": "#FREE_VALUE#",
            "PRICE": "PRICE_VALUE"
        }
    },
    ...
    "#DATE#": {
        "#TIME#": {
            "FREE": "#FREE_VALUE#",
            "PRICE": "PRICE_VALUE"
        },
        ...
        "#TIME#": {
            "FREE": "#FREE_VALUE#",
            "PRICE": "PRICE_VALUE"
        }
    }
}

где
#DATE# (string) - дата в формате DD.MM.YYYY (пример 08.03.2017)
#TIME# (string) - время слота (пример 12:00)
#FREE_VALUE# (boolean) - показывает свободно/занято ли это время (пример true)
#PRICE_VALUE# (int) - указывает цену на это время (пример 2500).
Пример результирующего JSON:
{
        "08.03.2017": {
            "01:30":{
                "FREE":true,
                "PRICE":3500
             },
            "18:00":{
                "FREE":true,
                "PRICE":3500
            },
            "21:00":{
                "FREE":false,
                "PRICE":3500
            }
        },
        "09.03.2017": {
            "01:30":{
                "FREE":true,
                "PRICE":3500
             },
            "18:00":{
                "FREE":true,
                "PRICE":3500
            },
            "21:00":{
                "FREE":false,
                "PRICE":3500
            }
        },
        "10.03.2017": {
            "01:30":{
                "FREE":true,
                "PRICE":3500
             },
            "18:00":{
                "FREE":true,
                "PRICE":3500
            },
            "21:00":{
                "FREE":false,
                "PRICE":3500
            }
        }
    }

Для сериалиазции я обычно пользуюсь библиотекой newtonsoft.json и сейчас я не могу понять какую мне надо сделать структуру класса, чтобы сериализовать его в такой json? На сколько я понимаю, здесь только свойства, никаких коллекций.
Заранее спасибо за помощь!
  • Вопрос задан
  • 221 просмотр
Решения вопроса 1
@sergey_kzn
Думаю что вам идеально подойдут словари (Dictionary)
https://www.newtonsoft.com/json/help/html/Serializ...

Что-нибудь типа:
Dictionary<string, Dictionary<string, SomeObject>> a;
a["10.03.2017"]["01:30"] = new SomeObject{FREE = true, PRICE=1234}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@d-stream
Готовые решения - не подаю, но...
Самый простой и быстрый вариант для VS: www.c-sharpcorner.com/article/how-to-paste-json-as...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы