JsonConvert.DeserializeObject<> 正在返回 null 两个子代币中的最后一个子代币
JsonConvert.DeserializeObject<> is returning null last childtoken of the two childrentokens
我正在从前端发送一个 JObject 到我的 API,它分为 First 和 Last childtokens,如下图所示:
但是,当我尝试使用以下代码时,childrendtoken 的最后一部分变为空
var RVoucher = JsonConvert.DeserializeObject<VMReceive>(request.ToString());
这是我在调试模式下的结果:
这里,VMReceive 是一个视图模型,由另一个视图模型"VMMonth"和一个ado.net生成的模型class"ReceiveVoucher"组成。
模型代码如下:
public class VMReceive
{
public List<VMMonth> Month { get; set; }
public ReceiveVoucher receiveVoucher { get; set; }
}
public class VMMonth
{
public int item_id { get; set; }
public string item_text { get; set; }
}
public partial class ReceiveVoucher
{
public int ReceiveVoucherId { get; set; }
public Nullable<int> MonthId { get; set; }
public string ReceivedBy { get; set; }
public string Remarks { get; set; }
public Nullable<int> ReceivedAmount { get; set; }
}
我也尝试过将 [JsonProperty("")] 放在 "ReceiveVoucher" 模型 class 的每个 属性 上,但遇到了相同的 'null' 问题。
我不确定我做错了什么,你的建议会很有帮助。
您的 JSON 属性 姓名不匹配。您的 class 使用 receiveVoucher
而 JSON 是 ReceiveAmount
。另外,你为什么首先使用 JObject
,这应该通过使用 class 名称作为操作参数来工作:
public HttpResponse PostReceive([FromBody] VMReceive RVoucher, int userId)
{
...
}
我正在从前端发送一个 JObject 到我的 API,它分为 First 和 Last childtokens,如下图所示:
但是,当我尝试使用以下代码时,childrendtoken 的最后一部分变为空
var RVoucher = JsonConvert.DeserializeObject<VMReceive>(request.ToString());
这是我在调试模式下的结果:
这里,VMReceive 是一个视图模型,由另一个视图模型"VMMonth"和一个ado.net生成的模型class"ReceiveVoucher"组成。 模型代码如下:
public class VMReceive
{
public List<VMMonth> Month { get; set; }
public ReceiveVoucher receiveVoucher { get; set; }
}
public class VMMonth
{
public int item_id { get; set; }
public string item_text { get; set; }
}
public partial class ReceiveVoucher
{
public int ReceiveVoucherId { get; set; }
public Nullable<int> MonthId { get; set; }
public string ReceivedBy { get; set; }
public string Remarks { get; set; }
public Nullable<int> ReceivedAmount { get; set; }
}
我也尝试过将 [JsonProperty("")] 放在 "ReceiveVoucher" 模型 class 的每个 属性 上,但遇到了相同的 'null' 问题。
我不确定我做错了什么,你的建议会很有帮助。
您的 JSON 属性 姓名不匹配。您的 class 使用 receiveVoucher
而 JSON 是 ReceiveAmount
。另外,你为什么首先使用 JObject
,这应该通过使用 class 名称作为操作参数来工作:
public HttpResponse PostReceive([FromBody] VMReceive RVoucher, int userId)
{
...
}