WebApi将主体绑定到Json字典

时间:2013-03-18 20:55:11

标签: c# asp.net-web-api json.net

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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