2010-12-16 194 views
2

如何以json格式顯示數據..?我嘗試使用C#代碼在一個aspx文件中創建一個JSON字符串並將其輸出。例如,在瀏覽器上打開default.aspx時,它只會放入json字符串。但是我不能在android sdk中使用default.aspx鏈接,因爲http響應也會包含html標籤。在C#中創建JSON輸出文件

基本上,如果我選擇查看源當我打開dafault.aspx,我可以看到html標籤不只是JSON字符串。當我打開twitter,谷歌日曆json api並選擇查看源代碼時,它們不包含html。任何人都可以幫助我創建僅JSON出... ...?我在sql server中有數據,並且在C#編碼方面非常出色。

在此先感謝.... !!!

回答

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文件中做並放棄html頁面標記。

甚至更​​好,請考慮使用Web服務。 WCF或asmx。

+0

你們是天才.. !!!有效...!!! – bp581 2010-12-16 06:00:46

+0

我得到這個錯誤..名稱'JavaScriptObjectSerializer'在當前上下文中不存在。它適用於正常的JSON字符串..而不是你提供的例子。 – bp581 2010-12-16 06:03:10

+0

沒關係..我有工作。再次感謝您的及時幫助。 – bp581 2010-12-16 06:12:24

0

在寫出JSON字符串之前,您可能沒有清除內容。在「通用處理程序」(即ashx文件)中執行此操作要容易得多。實現ProcessRequest方法,將內容類型設置爲「application/json」,並寫出數據。

+0

感謝迅速的反應......它的工作。欣賞它... !!! – bp581 2010-12-16 06:01:23

0

您可以嘗試返回C#對象。

public JsonResult GetPerson() 
{ 
    var p = new Person(); 
    p.FirstName = "Name"; 
    p.LastName = "LastName"; 
    return Json(p); 
} 

所以您將獲得:

{ 
    "FirstName" : "Name", 
    "LastName" : "LastName" 
}