Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 从HttpPost获取IEnumerable_Json_Asp.net Core Webapi - Fatal编程技术网

Json 从HttpPost获取IEnumerable

Json 从HttpPost获取IEnumerable,json,asp.net-core-webapi,Json,Asp.net Core Webapi,我正在尝试从HttpPost请求创建IEnumerable 正文中的JSON如下所示: [{"id":15496,"order":0},{"id":15500,"order":1},{"id":15503,"order":2}] post请求如下所示: [HttpPost("[action]")] public IActionResult SendReorderRows([FromBody] IEnumerable<ReorderRow> rows){

我正在尝试从HttpPost请求创建IEnumerable

正文中的JSON如下所示:

[{"id":15496,"order":0},{"id":15500,"order":1},{"id":15503,"order":2}]
post请求如下所示:

    [HttpPost("[action]")]
    public IActionResult SendReorderRows([FromBody] IEnumerable<ReorderRow> rows){
         foreach(var row in rows){
             Debug.WriteLine(row.id);
         }
    }
然而,当我运行这个示例时,它给出了

对象引用未设置为对象的实例

行的错误

我很难找到解析JSON并将其转换为IEnumerable以便在API中使用的基本方法。我是否遗漏了一些简单的内容?

请改用数组

[HttpPost("[action]")]
public IActionResult SendReorderRows([FromBody] ReorderRow[] rows) {
     foreach(var row in rows){
         Debug.WriteLine(row.id);
     }
}
它将绑定到JSON数组

您还需要对象模型中的公共属性,以便在绑定对象时正确填充它们

public class ReorderRow {
    public int id { get; set; }
    public int order { get; set; }
}
参考

改用数组

[HttpPost("[action]")]
public IActionResult SendReorderRows([FromBody] ReorderRow[] rows) {
     foreach(var row in rows){
         Debug.WriteLine(row.id);
     }
}
它将绑定到JSON数组

您还需要对象模型中的公共属性,以便在绑定对象时正确填充它们

public class ReorderRow {
    public int id { get; set; }
    public int order { get; set; }
}
参考文献