我目前正在开发一个ASP.NET Core MVC项目,我遇到了将IFormCollection的集合绑定到JSON数组的问题。
目前,我有一个Web应用程序,可以将数据从IFormCollection传递到其他Web API微服务。
所以,我的表单集可能看起来像这个伪代码:
People[0].Name="Jon Skeet"&People[1].Name="SLaks"
当它作为IFormCollection发布到我的MVC控制器时,它看起来几乎相同,其中键是"人物[0] .Name","人物[1] .Name& #34;而价值观是" Jon Skeet"和" SLaks"。
这是有问题的,因为当我最终序列化为JSON时,而不是得到这个:
{ People: [ { Name: "Jon Skeet" }, { Name: "SLaks"} ] }
我得到了这个:
{ "People[0].Name": "Jon Skeet", "People[1].Name": "SLaks" }
当我从我的MVC控制器发布到我的微服务控制器时,由于显而易见的原因,它不会绑定到[FromBody]IEnumerable<Person> People
。
所以,我的问题是,如何让我的IFormCollection序列化为JSON,使索引集合正确地序列化为JSON数组?是否有某种自定义转换器或我需要实现的其他东西才能使其正常工作?
请注意,我的MVC控制器必须采用IFormCollection,因为它充当了一个全能控制器,它根据请求URL路由到正确的微服务。