Nancy модель привязки JSON массив строк к объекту - PullRequest
0 голосов
/ 20 января 2020

У меня есть API, который принимает следующую структуру JSON:

{
   "name": {
      "surname": "Johnson",
      "firstname": "Andrew"
   },
   "options": {
      "something": "good",
      "somethingElse": "bad"
   }
}

Для этого у меня есть модель, к которой я привязываю var req = this.Bind<MyModel>();.

    public class MyModel
    {
        public IDictionary<string, object> Name;
        public IDictionary<string, object> Options;
    }

Все работает хорошо, если я не передам массив в JSON

{
   "name": {
      "surname": "Johnson",
      "firstname": "Andrew"
   },
   "options": {
      "something": ["good", "bad"]
   }
}

Если я не изменю MyModel на что-то вроде public IDictionary<string, string[]> Options;, я всегда получаю object из Options равно null. Очевидно, что если я изменю Options таким образом, первый приведенный мной пример JSON выдаст ошибку. Есть ли способ связать это успешно? Я не могу добавить другое свойство к MyModel, запрос JSON должен иметь такую ​​же структуру, то есть "name": {...}, "options": {...}.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...