我目前正在使用ServiceStack的Swagger插件,我在我的请求中填充某些对象时遇到了麻烦,特别是Dictionary对象 .

在下图中,我想传递一个Dictionary <string,string>对象作为FieldFilter的JSON . 这是什么格式?我尝试了几个例子,但FieldFilter对象总是被反序列化为null .

enter image description here
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字段使用正确的值进行反序列化!它有效吗?我错过了一些痛苦明显的东西吗?