使用DataContractJsonSerializer,你会很高兴知道.NET使得它非常简单。这里是一些代码,从HTTP处理程序中提取。 MyDataType
是可序列化类的名称。
context.Response.ContentType = "application/json";
MyDataType someObject = new MyDataType();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(MyDataType));
using (MemoryStream ms = new MemoryStream())
{
ser.WriteObject(ms, data);
ms.Seek(0, SeekOrigin.Begin);
StreamReader sr = new StreamReader(ms);
string json = sr.ReadToEnd();
Trace("Returning JSON:\n" + json + "\n");
context.Response.Write(json);
}
This is我主要的博客文章,当我不得不这样做。
这真的很有帮助,谢谢。正如我所提到的,我之前没有使用过Json,并且您的博客中的代码确实很有帮助。我是否认为我可以从我的Android应用程序调用我的模块,例如'http://myweb.com.default.ascx?memid = 333',然后在页面加载中处理查询字符串,并使用类似于上面的代码返回结果数据? – user616076 2011-03-07 18:02:26
你可以使用ascx,但我通常会使用HTTP处理程序(ASMX文件)来处理这类事情,因为它们更轻量级。您可以使用context.Request.Params(“memid”)访问查询字符串,然后使用上面的代码将输出写入客户端。 – 2011-03-08 08:32:35