Вопрос:
Почему не удается сериализовать и десериализовать объект MultipartFormDataContent?
var serializedContent = JsonConvert.SerializeObject(content);
var deserializedContent = JsonConvert.DeserializeObject<MultipartFormDataContent>(serializedContent);
// Produces error: Newtonsoft.Json.JsonSerializationException: Cannot create
// and populate list type System.Net.Http.MultipartFormDataContent.
// Path '', line 1, position 1.
Мой сериализованный контент выглядит так:
"[{\"Headers\":[{\"Key\":\"Content-Type\",\"Value\":[\"application/json; charset=utf-8\"]},{\"Key\":\"Content-Disposition\",\"Value\":[\"form-data; name=page\"]}]},{\"Headers\":[{\"Key\":\"Content-Type\",\"Value\":[\"image/png\"]},{\"Key\":\"Content-Disposition\",\"Value\":[\"form-data; name=pageData; filename=image.png; filename*=utf-8''image.png\"]}]}]"
Справочная информация:
В настоящее время я использую инфраструктуру RestFluencing для тестирования веб-API. Мне нужно POST-объект MultipartFormDataContent, но единственный способ увидеть, как это сделать с помощью этого фреймворка, - это использовать их функцию WithBody(string)
. Поэтому я пытаюсь сериализовать объект, передать новую строку этой функции и собираю некоторый код в исходном коде фреймворка для десериализации контента, когда его «Content-Type» равен «multipart / form-data». Это не удается, но, возможно, по другим причинам.
Я новичок в сериализации / десериализации / HTTP, поэтому я могу упустить некоторые детали.