Ho una pagina asp.net con un WebMethod su di esso per passare JSON indietro al mio javascript.ASP.NET WebMethod Restituisce JSON racchiuso tra virgolette
Bellow è il metodo web:
[WebMethod]
public static string getData(Dictionary<string, string> d) {
string response = "{ \"firstname\": \"John\", \"lastname\": \"Smith\" }";
return response;
}
Quando questo viene restituito al client è formattato come segue:
{ \"d\": \"{ \"firstname\": \"John\", \"lastname\": \"Smith\" }\" }
Il problema è che i doppi apici che avvolgono tutto sotto 'd'. C'è qualcosa che mi è mancato nel metodo web o altri mezzi per restituire i dati senza le virgolette? Non voglio davvero spogliarlo sul client ogni volta. Inoltre ho visto altri articoli in cui ciò non accade.
Qualsiasi aiuto sarebbe apprezzato grazie.
PS. Se si desidera mantenere la funzione restituendo una stringa contenente il JSON, suggerisco di utilizzare qualcosa come la funzione di estensione ToJson di Risk Strahl [http://www.west-wind.com/weblog/posts/442969.aspx]. Il tuo corpo del metodo può quindi essere nuovo {firstname = "John"}. ToJson(). –
Grazie per la tua risposta, questo è molto interessante. Non mi rendevo conto che potevi creare oggetti in quel modo in C#. Tuttavia, ho già creato un framework per la creazione di stringhe json dagli oggetti, quindi dovrò utilizzare l'opzione lato client. Guarderò l'opzione lato server nei progetti futuri. Grazie. – markvpc