Entity framework core 如何接受具有更多层的JSON

Entity framework core 如何接受具有更多层的JSON,entity-framework-core,Entity Framework Core,我得到了这个JSON,我正试图用一个模型来接受它,但我似乎不知道我将如何接受双层JSON 我只是不断得到无效数据,所以我的模型应该是什么样子 JSON 模型 控制器 [HttpPost] public async Task<IActionResult> FlowMessageFromGateway([FromBody] FlowDTO flowDTO) { if (!ModelState.IsValid)

我得到了这个JSON,我正试图用一个模型来接受它,但我似乎不知道我将如何接受双层JSON

我只是不断得到无效数据,所以我的模型应该是什么样子

JSON

模型

控制器

[HttpPost]
        public async Task<IActionResult> FlowMessageFromGateway([FromBody] FlowDTO flowDTO)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            return Ok(flowDTO);
        }
    }

问题在于如何发送数据

因为您给它一个名称“Flow”,所以在反序列化时,它希望数据具有名为Flow的属性

您应该可以通过邮递员发送以下邮件来实现此目的:

{
    "MAC": "04916206f005",
    "DateTime": "2015-01-01 23:59:50",
    "Data": [0,0,0,0,0,0,0,0,0]
}
编辑

如果您希望此数据正常工作:

{
    "MAC": "04916206f005",
    "DateTime": "2015-01-01 23:59:50",
    "Data": [{
        "Flow": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    }]
}
然后,您需要执行以下操作:

1) 保持流动的物体

public class Data
{
    public List<int> Flow {get; set;}
}
公共类数据
{
公共列表流{get;set;}
}
2) 更新原始模型以使用数据类

public class FlowDTO
{

    [Required]
    public string MacAdr { get; set; }
    public DateTime DateTime { get; set; }
    public List<Data> Data { get; set; }

}
公共类流到
{
[必需]
公共字符串MacAdr{get;set;}
公共日期时间日期时间{get;set;}
公共列表数据{get;set;}
}

您是否收到错误消息说数据无效?你能分享这个错误消息吗?你是如何将数据发送到控制器的?添加了错误,我使用Postman和swagger来测试它。我假设这是c#?但是没有办法让嵌套的JSON工作吗?通过某种方式改变模型?这是可行的,当然我只需要制作一系列新模型。谢谢你给我指引了正确的方向。没问题,很乐意帮忙:)
{
    "MAC": "04916206f005",
    "DateTime": "2015-01-01 23:59:50",
    "Data": [{
        "Flow": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    }]
}
public class Data
{
    public List<int> Flow {get; set;}
}
public class FlowDTO
{

    [Required]
    public string MacAdr { get; set; }
    public DateTime DateTime { get; set; }
    public List<Data> Data { get; set; }

}