我正在尝试在webapi中收到以下JSON格式
{
"name": "Matt",
"age": "24",
"payload": {"key1": "value1", "key2": "value2"}
}
这里有效载荷是动态的,它可以有任何键和值。
我的webapi看起来像
public class Person
{
public string name{ get; set; }
public int age{ get; set; }
public string payload { get; set; }
}
public async Task<HttpResponseMessage> Post([FromBody]Person value)
{
// Getting name and age but not payload.
}
问题
FromBody是获得这个价值的方式吗?如果是的话,我在这里失踪了。如果不是,这类投入的最佳做法是什么?
答案 0 :(得分:1)
应使用[FromBody]
。您可以使用IDictionary<string,string>
作为有效负载。
public class Person
{
public string name{ get; set; }
public int age{ get; set; }
public IDictionary<string,string> payload { get; set; }
}
public async Task<HttpResponseMessage> Post([FromBody]Person value)
{
var value1 = value.payload["key1"];
var value2 = value.payload["key2"];
}