如何以json格式公开数据.. ???我尝试在aspx文件中使用C#代码创建一个JSON字符串并输出它。例如,在浏览器上打开default.aspx时,它只输出json字符串。但是我在android sdk中处理时不能使用default.aspx链接,因为http响应也会包含html标签。
基本上,如果我在打开dafault.aspx时选择了视图源,我可以看到html标签而不仅仅是JSON字符串。当我打开json api for twitter,google calender并选择查看源时,它们不包含html。任何人都可以帮我创建只有json out put ... ???我在sql server中有数据,并且非常擅长C#编码。
提前致谢.... !!!
答案 0 :(得分:3)
类似的东西:
using System.Web.Script.Serialization;
public class Person
{
public string firstName = "bp";
public string lastName = "581";
}
public partial class MyPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Person p = new Person();
string output = JavaScriptObjectSerializer.Serialize(p);
Response.Write(output);
Response.Flush();
Response.End();
}
}
这是示例背后的aspx代码。在Response.End()之后,aspx文件被忽略。或者在ashx文件中执行并放弃htmlpage标记。
甚至更好,请考虑使用网络服务。 WCF或asmx。
答案 1 :(得分:0)
你应该ASHX handler。
答案 2 :(得分:0)
在写出JSON字符串之前,您可能没有清除内容。在“通用处理程序”(即ashx文件)中执行此操作要容易得多。实现ProcessRequest方法,将内容类型设置为“application / json”,并写出您的数据。
答案 3 :(得分:0)
您可以尝试返回C#对象。
public JsonResult GetPerson()
{
var p = new Person();
p.FirstName = "Name";
p.LastName = "LastName";
return Json(p);
}
所以你会得到:
{
"FirstName" : "Name",
"LastName" : "LastName"
}