Страницы

Поиск по вопросам

суббота, 15 июня 2019 г.

Приведение JSON модели к Dictionary

Возникла проблема, при тестировании методов restAPI.
Необходимо производить валидацию модели, полученной в результате выполнения запроса и эталонной модели. Я похоже изобретаю жуткий велосипед, но идея была такова, что бы преобразовать json модель типа: { "key0" : "value", "key1" : "value", ... , "key_n" : "value" } к словарю, и сравнить значения у полей.
Чувствую, что либо так не делают, либо есть подход проще. Если кто нибудь сталкивался или знает куда копать подскажите пожалуйста.


Ответ

Я бы вам посоветовал посмотреть на JSON.net тык. Дело в том, что ваша задача состоит в том, чтобы десериализовать полученный json и проверить данные. Есть несколько способов.
Сделать класс Class1, который будет содержать нужные поля. И потом десериализовать с помощью Class1 variable = JsonConvert.DeserializeObject(json) ; Ну а как проверить переменную класса на значения думаю не так уж и сложно.Чаще всего будет проще словить на моменте сериализации т.к. там сразу же будет ошибка при попытке сериализовать не тот тип или отсуствующее поле. Тут описано, как можно упростить процесс, описанный выше с помощью DataContractJsonSerializer. Работать с json как с обычным объектом. Т.е. десериализовать строку в объект и потом проверять наличие полей (keys) и значений по этим полям. Но я бы не рекомендовал это т.к. это дольше, сложнее и т.п.);
Можно еще посмотреть тут. Возможно это наведет вас на нужную мысль.
UPD Как сериализовать в WEb API

Комментариев нет:

Отправить комментарий