WebApi将主体绑定到Json字典

我正在尝试使用以下签名创建WebApi操作方法:

[System.Web.Http.HttpPost] public object Execute([FromUri] string command, [FromUri] string method, [FromBody] IDictionary arguments) 

但是,当我使用请求命中此方法时,参数永远不会正确绑定(两个URI字段可以)。 ModelState在第一个字符处显示Json.NET解析错误。 我尝试过看起来像: id=50arguments={ "id": 50 }请求主体。 如何制定我的请求以允许WebApi正确绑定我的参数?

您在请求正文中不需要“id =”或“arguments =”。 你应该能够发送看起来像这样的东西:

 {"key1": 4, "key2": 50, "key3": {"member1": "value"}} 

并让它工作。 然后,Dictionary将包含key1:值为4的JValue,key2:值为50的JValue,key3:具有值为“value”的member1成员的JObject。