c# - 将具有对象列表的 json 绑定(bind)到模型

标签 c# asp.net-mvc json model-binding modelbinders

我想绑定(bind)这个json:

{

        "DataPeriodId": 1,
        "MarketerId": 2,
        "MarketerTitle": "mehrdad",
        "CreditValues": [
            {
                "Title": "twelve",
                "CreditTypeId": 1,
                "Value": 2500000,
                "CreditId": 3,
                "HasMax": true
            },
            {
                "Title": "test",
                "CreditTypeId": 2,
                "Value": "",
                "CreditId": "",
                "HasMax": true
            },
            {
                "Title": "pouya",
                "CreditTypeId": 3,
                "Value": 1564564,
                "CreditId": 7,
                "HasMax": false
            },
            {
                "Title": "jafar",
                "CreditTypeId": 4,
                "Value": 0,
                "CreditId": 9,
                "HasMax": false
            },
            {
                "Title": "saeed",
                "CreditTypeId": 5,
                "Value": 0,
                "CreditId": 10,
                "HasMax": false
            }
        ]

}

到这个对象:

public class MarketerCredit
{
    public int DataPeriodId;
    public int MarketerId;
    public string MarketerTitle;
    public List<CreditValue> CreditValues;
}
public class CreditValue
{
    public int CreditId;
    public int CreditTypeId;
    public decimal? Value;
    public bool HasMax;
}

在 mvc.net 中。

但是当将 json 传递给操作时,所有成员均为 null。 这是我的行动:

   public void EditMarketerCredit(MarketerCredit marketerCredit)
        {


        }   

所以我写这个:

public void EditMarketerCredit(List<CreditValue> CreditValues,int DataPeriodId,int MarketerId,string MarketerTitle)

当成员分开时,一切都好。 如何将 json 绑定(bind)到模型?

最佳答案

根据您的json,您需要一个封装MarketerCredit的根对象

public class RootObject
{
    public MarketerCredit MarketerCredit { set; get; }
}

顺便说一句:您的 json 包含一行 "CreditId": "",,因此 CreditId 的类型应为 string

关于c# - 将具有对象列表的 json 绑定(bind)到模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21497403/

相关文章:

node.js - 如何在node js中将gson转换为json?

javascript - 使用 angularjs 应用程序进行 Bootstrap 的数据表

c# - 使用 css 从母版页覆盖导航

c# - 为什么尾调用优化需要操作码?

c# - 在 C# 中使用 C 结构体

c# - 维护内存的可重用列表

asp.net - 什么是asp.net mvc中 “literal”标记的等效项

asp.net-mvc - 如何在本地化文本中嵌入链接

css - CKEditor灰色区域问题

javascript - 通过 AJAX 将 PHP 数据更改为 JS 数据(尤其是数组)时的最佳实践