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)
{
    ...
}