Lors de l'utilisation de l'objet de sérialisation JSON.net, un problème étrange peut être rencontré: l'objet est une double sérialisation. Cela entraînera l'enveloppement des données JSON dans deux citations dans la réponse, et les citations intégrées sont également justes.
cause première
La cause profonde est la méthode de sérialisation. Si vous utilisez jsonconvert.serializeObject (instance)
si vous utilisez jsonconvert.serialililialieOboct (instance). En effet, vous le sérialisez d'abord en une chaîne, puis le contrôleur API le sérialisera davantage sur le mot de chaîne JavaScript.
solution
Pour résoudre ce problème, il vous suffit de revenir directement à l'objet:
public ienumerable
Méthode de remplacement
public IEnumerable GetFoobars()
{
var foobars = ...;
return foobars;
}
httpconfiguration : config.formatters.jsonformatter.sersettings.converters.add config.formatters.jsonformatter.serializeSettings.converters.add (new Barconverter ());
Autres conseils
Assurez-vous que le convertisseur personnalisé est correctement implémenté.
config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new FooConverter());
config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new BarConverter());
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3