我们正在与第三方供应商合作,该供应商将以下对象作为表单帖子的一部分传递
{
"application": 123,
"order_reference": "01234",
"new_status": "initialize"
}
由于这不是C#中的标准命名约定,我创建了以下模型。
public class Response
{
[JsonProperty("application")]
public string Application {get; set;}
[JsonProperty("order_reference")]
public string OrderReference {get; set;}
[JsonProperty("new_status")]
public string NewStatus {get; set;}
}
我在控制器中有以下代码。
[HttpPost]
public Notify(Response response)
{
// code.
}
请求来自上面的方法,但是对象没有反序列化,我可以看到,只有application
属性被映射。
任何人都可以让我知道,我是否可以使用我创建的模型,或者我必须创建与响应即将到来相同的模型?
答案 0 :(得分:0)
只需将属性包装在json对象中并对其进行字符串化即可。我测试了它并且它正在工作
var Response = {
response:{
'Application': "123",
'order_reference': "01234",
'new_status': "initialize"
}
};
收到Ajax请求的C#代码
[HttpPost]
public Notify(Response response)
{
// code.
}
public class Response
{
public string Application { get; set; }
public string order_reference { get; set; }
public string new_status { get; set; }
}