J'ai une page asp.net avec un WebMethod dessus pour renvoyer JSON à mon javascript.ASP.NET WebMethod renvoie JSON entouré de guillemets
Bellow est la méthode Web:
[WebMethod]
public static string getData(Dictionary<string, string> d) {
string response = "{ \"firstname\": \"John\", \"lastname\": \"Smith\" }";
return response;
}
Lorsque cela est retourné au client, il est formaté comme suit:
{ \"d\": \"{ \"firstname\": \"John\", \"lastname\": \"Smith\" }\" }
Le problème est les guillemets doubles tout emballage sous 'd'. Y at-il quelque chose que j'ai manqué dans la méthode web ou d'autres moyens de renvoyer les données sans les guillemets? Je ne veux pas vraiment l'enlever sur le client à chaque fois. J'ai aussi vu d'autres articles où cela n'arrive pas.
Toute aide serait appréciée merci.
PS. Si vous voulez garder votre fonction retournant une chaîne contenant le JSON, alors je suggère d'utiliser quelque chose comme la fonction d'extension ToJson de Risk Strahl [http://www.west-wind.com/weblog/posts/442969.aspx]. Le corps de votre méthode peut alors être nouveau {firstname = "John"}. ToJson(). –
Merci pour votre réponse, c'est très intéressant. Je ne me suis pas rendu compte que vous pouviez créer des objets de cette manière en C#. Cependant, j'ai déjà créé un framework pour construire des chaînes json à partir d'objets, donc je devrai utiliser l'option côté client. Je vais regarder dans l'option côté serveur dans les futurs projets. Merci. – markvpc