WCF + Json = mauvaise sérialisation

Pourquoi cette méthode WCF 3.5

[ServiceContract] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class Json { [OperationContract] [WebGet(ResponseFormat = WebMessageFormat.Json)] public ssortingng Upper(ssortingng text) { return text.ToUpper(); } } 

renvoie {"d":"TEXT"} ?

Il devrait retourner {"TEXT"}

J’appelle en utilisant jQuery.

  $("#upper").click(function() { $.ajax({ type: "GET", url: "/Json.svc/Upper?text="+$("#input1").val(), success: function(data) { $("#input1").val(data.d); } }); }); 

Cette fonctionnalité de sécurité a été ajoutée à la sérialisation JSON dans .NET 3.5. C’est un object conteneur, donc au lieu de, par exemple, results[0] , vous diriez simplement results.d[0] . Lisez cet article pour plus d’informations.

Je suppose que vous utilisez dans votre comportement, remplacez-le par et vous obtiendrez json sans la racine “d” et sans les accessoires “__type”.

Cependant, j’ai seulement testé cela en 4.0

Je n’utilise également aucun atsortingbut dans le code.

Avez-vous essayé de modifier la propriété BodyStyle de votre atsortingbut [WebGet] afin que les réponses ne soient pas encapsulées?