Как преобразовать проиндексированную коллекцию из FormCollection в массив JSON в C # - PullRequest
0 голосов
/ 02 мая 2018

В настоящее время я работаю над проектом ASP.NET Core MVC и столкнулся с проблемой привязки коллекций из IFormCollection к массиву JSON.

В настоящее время у меня есть веб-приложение, которое передает данные из коллекции IFormCollection в другие микросервисы веб-API.

Итак, моя коллекция форм может выглядеть примерно так: псевдокод:

People[0].Name="Jon Skeet"&People[1].Name="SLaks"

Когда он публикуется на моем контроллере MVC как IFormCollection, он выглядит примерно так же, где ключи - «People [0] .Name», «People [1] .Name», а значения - «Jon Skeet». "и" SLaks ".

Это проблематично, потому что когда я в конечном итоге сериализуюсь в JSON, вместо того, чтобы получить это:

{ People: [ { Name: "Jon Skeet" }, { Name: "SLaks"} ] }

Вместо этого я получаю:

{ "People[0].Name": "Jon Skeet", "People[1].Name": "SLaks" }

Который не связывается с [FromBody]IEnumerable<Person> People, когда я отправляю сообщение с моего контроллера MVC на контроллер моего микросервиса по очевидным причинам.

Итак, мой вопрос: как я могу заставить мою IFormCollection сериализоваться в JSON таким образом, чтобы индексированные коллекции сериализовались правильно в массив JSON? Есть ли какой-то специальный конвертер или что-то еще, что мне нужно реализовать, чтобы он работал?

Обратите внимание, что мой MVC-контроллер должен принимать IFormCollection, потому что он действует как универсальный контроллер, который направляет к нужному микросервису на основе URL-адреса запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...