Tengo una página asp.net con un WebMethod para pasar JSON a mi javascript.ASP.NET WebMethod Devuelve JSON envuelto entre comillas
Bellow es el método web:
[WebMethod]
public static string getData(Dictionary<string, string> d) {
string response = "{ \"firstname\": \"John\", \"lastname\": \"Smith\" }";
return response;
}
Cuando esto se devuelve al cliente se le da formato de la siguiente manera:
{ \"d\": \"{ \"firstname\": \"John\", \"lastname\": \"Smith\" }\" }
El problema es que las comillas dobles que envuelven todo bajo 'd'. ¿Hay algo que he omitido en el método web o algún otro medio de devolver los datos sin las comillas? Realmente no quiero despojarlo del cliente cada vez. También he visto otros artículos donde esto no sucede.
Cualquier ayuda sería apreciada gracias.
PS. Si desea que su función devuelva una cadena que contenga el JSON, le sugiero que use algo como la función de extensión ToJson de Risk Strahl [http://www.west-wind.com/weblog/posts/442969.aspx]. El cuerpo de su método puede ser nuevo {firstname = "John"}. ToJson(). –
Gracias por su respuesta, esto es muy interesante. No me di cuenta de que podías crear objetos de esa manera en C#. Sin embargo, ya he creado un marco para construir cadenas json a partir de objetos, así que tendré que usar la opción del lado del cliente. Examinaré la opción del servidor en futuros proyectos. Gracias. – markvpc