J'ai une classe générique dont je veux sérialiser avec la valeur d'un seul de ses attributs.
à cette fin, j'ai écrit un S'il y a une meilleure façon de réaliser le même résultat, je suis absolument ouvert aux suggestions. P> em> str> strong> < / p> jsonconverter personnalisé strong> p> Classe de base foo forte> p> FOO implémentation forte> p> jsonconverter personnalisé code> et l'attachée à la base de la base Classe avec le
JSONCONVERTER (TYPE) CODE> Attribut - Cependant, il ne semble pas jamais être appelé. Pour référence, comme indiqué dans l'exemple ci-dessous, je suis sérialisé une liste
<> code> de l'objet à l'aide du système
system.web.mvc.controller.json () code> méthode. < / p>
3 Réponses :
Documentation dit: Pour appliquer un convertisseur JSON aux éléments d'une collection, utilisez JSONARRAYATTRIBUTE, JSONDICTIONRYATTRibute ou JSONPROPERTYATTRIBUT et définissez la propriété ItemConverterType sur le type de convertisseur que vous souhaitez utiliser. P>
http://james.newtonking.com/json/help/html/ SerializationAttributes.htm P>
Peut-être que cela aidera. P>
Je vais regarder, merci. Passé des siècles à rouler dans les documents, mais je ne savais pas vraiment ce que je cherchais.
Tout d'abord du système.web.mvc.controller.json () ne fonctionne pas avec json.net - il utilise JavasCriptsérializer qui ne connaît rien de votre gouffre JSON.NET. Si vous souhaitez toujours utiliser System.Web.MVC.Controller.json () Appelez, vous devriez faire quelque chose comme Ce . Changer également Je pense que cela devrait faire fonctionner votre code. P> P> Erriversjson code> à ceci:
J'étais sous l'impression que cela l'a fait, mais ne serait-il pas surpris de ce que j'avais tort - c'était peut-être autre chose qui a tiré json.net comme une dépendance. Merci pour l'article, je vais lui donner une lecture.
ASP.NET WebAPI utilise json.net comme sérialisateur JSON, mais ASP.NET MVC ne le fait pas. Je sais que c'est déroutant.
Ah, ça aurait été ça.
Peut confirmer que c'était la question sous-jacente. Merci pour votre aide.
Qu'est-il arrivé à moi était, j'ai ajouté le alors j'utilisais à l'aide de code> automatiquement comme suggéré par Visual Studio. Et par erreur ajoutée
à l'aide de system.text.json.serialization; code> au lieu de
à l'aide de newtonsoft.json; code> p> p>
system.text.json.serialization.jsonconverterattribute code> sur la classe cible. Qui est (correctement) ignoré par json.net. P>