У меня есть 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": {...}
.