No estoy seguro de dónde me estoy equivocando de lo que me estoy perdiendo.ASP.NET WebService está envolviendo mi respuesta JSON con etiquetas XML
Estoy construyendo una aplicación web ASP.NET 2.0 (en el framework .Net 3.5) y estoy incluyendo un servicio web. Tenga en cuenta que esto es no un proyecto MVC. Deseo exponer un método que devolverá una cadena JSON; formateado para alimentar el plugin jqGrid jQuery.
Este es el método de ensayo preliminar he aplicado a mi servicio: gracias a (Phil Haack's Guide for MVC)
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string getData()
{
JavaScriptSerializer ser = new JavaScriptSerializer();
var jsonData = new
{
total = 1, // we'll implement later
page = 1,
records = 3, // implement later
rows = new[]{
new {id = 1, cell = new[] {"1", "-7", "Is this a good question?", "yay"}},
new {id = 2, cell = new[] {"2", "15", "Is this a blatant ripoff?", "yay"}},
new {id = 3, cell = new[] {"3", "23", "Why is the sky blue?", "yay"}}
}
};
return ser.Serialize(jsonData); //products.ToString();
}
Cuando se invoca este está volviendo (formateado para mayor claridad):
<?xml version="1.0" encoding="utf-8" ?>
<string mlns="http://tempuri.org/">
{
"total":1,
"page":1,
"records":3,
"rows":
[
{"id":1,"cell":["1","-7","Is this a good question?","yay"]},
{"id":2,"cell":["2","15","Is this a blatant ripoff?","yay"]},
{"id":3,"cell":["3","23","Why is the sky blue?","yay"]}
]
}
</string>
Cómo sería Logré la respuesta anterior sin las envolturas de xml?
¿Cómo obtuvo su resultado? Cuando lo implemento como lo tengo, parece que solo recupero "Objeto Object". Esto podría ser una ingenuidad para JSON, pero parece que no puedo hacer que funcione. – Mike
Utilicé Firebug en Firefox para ver la respuesta desde el panel de Red: haga clic en la pestaña de respuesta para esa solicitud. –
¿Sabes por qué los datos se envuelven en la variable "d"? – Mike