在C#中创建JSON输出文件

时间:2010-12-16 04:00:33

标签: c# android json

如何以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#编码。

提前致谢.... !!!

4 个答案:

答案 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"
}