JToken jsonbody在一个类中传递

时间:2017-07-14 19:15:11

标签: json asp.net-web-api httpresponsemessage

我试图构建一个web api并在一个原始json参数(jsonbody)中接收整个身体。我不想把它作为JToken项目类传递

这项工作:

   [System.Web.Http.HttpPost]
    public HttpResponseMessage WebRequestTest2([FromBody]JToken jsonbody)
    {...}

这不起作用(输入为空):

public class mdWREvent {public JToken jsonbody { get; set; }}
[System.Web.Http.HttpPost]
    public HttpResponseMessage WebRequestTest1([FromBody] mdWREvent Inputs)
    {...}

我怎样才能让它发挥作用呢?

1 个答案:

答案 0 :(得分:0)

在第一个场景中,它将尝试将整个身体反序列化为json,在第二个场景中,它将尝试将身体反序列化为"输入"和财产" jsoninputs"作为Json对象。

例如, 场景1的Json:

{
    "prop1" : 1,
    "prop2": "value"
}

Json for Scenario 2:

{
    "jsoninputs": {
        "prop1" : 1,
        "prop2": "value"
    }
}

PS:如果它是POST / PUT的对象,你不必用[FromBody]标记它。