我有一个接受以下JSON结构的API:
{
"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": {...}
。
创建这样的课程
public class Name
{
public string surname { get; set; }
public string firstname { get; set; }
}
public class Options
{
public string something { get; set; }
public string somethingElse { get; set; }
}
public class RootObject
{
public Name name { get; set; }
public Options options { get; set; }
}
并将var req = this.Bind<MyModel>();
更改为
var req = this.Bind<RootObject>();