Renvoi d'un objet JSON à partir d'un PageMethod avec mise en forme personnalisée
-
19-08-2019 - |
Question
Est-il possible de formater la manière dont un objet est renvoyé en tant que JSON à partir d'un PageMethod? c'est à dire. retirer le premier " d " élément des données, sans écrire le JSON à partir de zéro.
De {"d": {"nom": "bob", "email": "bob@example.com" }}
Pour {" name " :: " bob " ;, email: & l; bob@example.com" }
La solution
Non. Le sérialiseur JSON de Microsoft ajoute le d pour une raison quelconque côté serveur et le code AJAX côté client qui désérialise la chaîne JSON s'attend à ce qu'il soit là.
Autres conseils
Le paramètre supplémentaire "d"
est ajouté par le .NET Framework en tant que mesure de sécurité supplémentaire contre les attaques XSS [ source ]. Il est inclus lorsque le "Type de contenu"
de la demande spécifie "application / json" /
.
Je pense que vous pouvez obtenir le cadre pour l'exclure (c'est-à-dire, ne placez pas le résultat dans le "d"
) si vous spécifiez simplement le "Content-Type"
de la requête est différent de "application / json"
. Essayez de supprimer cet en-tête de la demande (si vous le pouvez) et de voir ce que renvoie .NET.