6
votes

Objet JSON en C # .NET

J'ai une méthode C # .NET comme indiqué ci-dessous

  $.ajax({
                type: 'GET',
                url: "test.aspx",  //In test.aspx pageload calling jsonTest()
                dataType: 'json',
                success: function (data) {
                    alert(data);
                },
                error: function (data) {
                    alert("In error");
                }

            });


4 commentaires

Voulez-vous que cela ressemble à celui de la consommation de serveur ou du côté client? Qu'essayez-vous d'accomplir / faire avec le résultat?


Si vous parlez à la création d'une ASP WebMethod, vous retournez le type de chaîne et utilisez le sérialisateur JSON pour convertir l'objet.


Stackoverflow.com/Questtions/2361380/...


Est-ce censé être une webmethod? Si tel est le cas, faites simplement votre type de retour list et il sera automatiquement sérialisé sur JSON (pas une "chaîne JSON" évasée)


4 Réponses :


-3
votes

JSON n'est que des données de chaîne. C'est ainsi que cette chaîne est interprétée. Donc, le fait qu'il retourne une chaîne est correct. Vous avez mentionné ASP.NET. Utilisez-vous des webforms ASP.NET et recherchez un moyen de retourner cette JSON à l'avant?


1 commentaires

Je pense que tu voulais dire un commentaire



0
votes

Il n'y a rien appelé objet JSON. La méthode code> SerializeObject code> renvoie une chaîne car JSON n'est rien de plus qu'une valeur de chaîne qui suit des règles spécifiques.

Pour retourner JSON au navigateur Tout ce que vous avez à faire est: P>

Response.ContentType = "application/json; charset=utf-8";
Response.Write(jsonTest());
Response.End();


0 commentaires

1
votes

Si ASP.NET,

string output = JsonConvert.SerializeObject(list);
Response.Clear();
Response.ContentType = "application/json; charset=utf-8";
Response.Write(output);
Response.End();


1 commentaires

Son amende fonctionnant si je n'utilise pas deataType: 'Json' à Ajax. Sinon, sa alerte montrant ("erreur");



0
votes

Je vais supposer que vous essayez de créer un Webmethod pour la consommation par un appel JavaScript XHR ou SIMILIAR:

ASP.NET sera auto-Serialize à JSON pour POST Demandes uniquement (à l'aide de ASMX ou appelé "Méthodes de page"). Wcf et webapi ne nécessitent pas la méthode post , mais nécessitent une certaine configuration. xxx

Le résultat que votre appel JS voit serait quelque chose comme: < / p> xxx

pas besoin de déconner directement w / la classe jsonerializer directement.

Assurez-vous également que vos en-têtes de demande sont correctement définis:

Contenu-Accepter: Application / JSON; CHRSTE = UTF8


0 commentaires