«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему json.net двойной сериализует мои объекты?

Почему json.net двойной сериализует мои объекты?

Опубликовано в 2025-02-04
Просматривать:715

Why is JSON.NET Double Serializing My Objects?

json.net Dual -Sequentialization Проблема

при использовании объекта сериализации json.net можно столкнуться с странной проблемой: объект - двойная сериализация. Это приведет к тому, что данные JSON будут заверены в двойные цитаты в ответе, а встроенные кавычки также праведны.

первопричина

основной причиной является метод сериализации. Если вы используете jsonconvert.serializeobject (exaction)

, если вы используете

jsonconvert.serialilililiLialieoboct (exant). Это связано с тем, что вы сначала сериализуете его в строку, а затем контроллер API еще больше сериализует его на строковое слово JavaScript. решение

Чтобы решить эту проблему, вам нужно только вернуться непосредственно к объекту: ] public ienumerable getfoobars () {{ var foobars = ...; Вернуть фубары; }

метод замены
public IEnumerable GetFoobars()
{
    var foobars = ...;
    return foobars;
}
httpconfiguration

: ] config.formatters.jsonformatter.sersettings.converters.add config.formatters.jsonformatter.serializersettings.converters.add (new Barconverter ());

другие советы

убедитесь, что пользовательский преобразователь правильно реализован.

config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new FooConverter());
config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new BarConverter());
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3