Я не уверен, где я ошибаюсь в том, чего не хватает.
Я создаю веб-приложение ASP.NET 2.0 (на веб-приложении .Net 3.5), и я включаю веб-сервис. Обратите внимание, что это не проект MVC. Я хочу выставить метод, который вернет строку JSON; отформатированный для подачи плагина jqGrid jQuery.
Это предварительный метод тестирования, который я реализовал в своем сервисе: благодаря (Руководство по Phil Haack для 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();
}
При вызове возвращается (форматируется для ясности):
<?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>
Как я мог бы выполнить вышеупомянутый ответ без оберток xml?