2010-12-16 2 views
2

Как я могу предоставить данные в формате json .. ??? Я попытался создать строку JSON с использованием кода C# в aspx-файле и вывести его. Например, при открытии default.aspx в браузере он выводит только строку json. Но я не могу использовать ссылку default.aspx во время обработки в android sdk, поскольку HTTP-ответ также будет включать теги html.Создание выходного файла JSON в C#

В принципе, если я выбираю источник источника при открытии dafault.aspx, я могу видеть теги html не только для строки JSON. когда я открываю json api для twitter, google calender и выбираю источник просмотра, они не содержат html. Может ли кто-нибудь помочь мне создать только json out put ... ??? У меня есть данные в sql-сервере и неплохо написано на 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 код позади. Например, Aspx-файл игнорируется после Response.End(). Или делайте это в файле ashx и откажитесь от разметки htmlpage.

Или еще лучше, рассмотрите возможность использования веб-службы. WCF или asmx.

+0

Вы, ребята, гений .. !!! это сработало...!!! – bp581 2010-12-16 06:00:46

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" 
} 
Смежные вопросы