我目前正在使用ServiceStack的Swagger插件,我在我的请求中填充某些对象时遇到了麻烦,特别是Dictionary对象 .
在下图中,我想传递一个Dictionary <string,string>对象作为FieldFilter的JSON . 这是什么格式?我尝试了几个例子,但FieldFilter对象总是被反序列化为null .
UPDATE
我已经看了一下这个链接中提供的JSON示例:
http://www.newtonsoft.com/json/help/html/SerializeDictionary.htm
这表明Dictionary <string,string> JSON表示如下:
{
"James": "9001",
"Jo": "3474",
"Jess": "11926"
}
但结果仍然反序列化为null . 我认为这更像是ServiceStack和Swagger插件的限制 . 我将接受使用类列表的建议,并提供另一个更新
UPDATE 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字段使用正确的值进行反序列化!它有效吗?我错过了一些痛苦明显的东西吗?