我目前正在使用ServiceStack的Swagger插件,我在请求中填充某些对象时遇到了问题,特别是Dictionary对象。
在下图中,我想传递一个字典< string,string>对象作为FieldFilter的JSON。这是什么格式?我已经尝试了几个例子,但FieldFilter对象总是被反序列化为null。
的更新
我已经看了一下这个链接中提供的JSON示例:
http://www.newtonsoft.com/json/help/html/SerializeDictionary.htm
表示字典< string,string> JSON表示如下:
{
"James": "9001",
"Jo": "3474",
"Jess": "11926"
}
但结果仍然反序列化为null。我认为这更像是ServiceStack和Swagger插件的限制。我将接受使用类列表的建议,并提供另一个更新
更新2
我尝试过创建一个FieldFilter类(包含两个字符串属性)。这是我现在进入的JSON:
{
"FieldId": "1",
"Value": "Hello"
},
{
"FieldId": "2",
"Value": "Goodbye"
}
尝试此(以及其他轻微变化)该字段仍然被反序列化为null。
作为测试,我将字段过滤器对象添加到我的CreateUser请求中,该请求具有一个包含所有必填字段的主体。 JSON就是这样的:
{
"FieldFilter": [
{
"FieldId": "1",
"Value": "Hello"
},
{
"FieldId": "2",
"Value": "Goodbye"
}
],
"FirstName": "",
"LastName": "",
"Password": "",
"Permissions": [
""
],
"Roles": [
""
],
"Username": ""
}
现在,在此示例中,所有字段都在一个JSON请求中,FieldFilter字段使用正确的值进行反序列化!它有效吗?我错过了一些非常明显的东西吗?