本篇内容将展示如何使用VB2008扩展方法去将一个对象序列化成JSON字符串
本篇内容将展示如何使用VS2008扩展方法去将一个对象序列化成JSON字符串
1.添加System.Web.Extensions.dll 程序集的引用
2.添加JSONHelper 类
using System.Web.Script.Serialization;
public static class JSONHelper
{
static JSONHelper(){}
public static string ToJSONString(this object obj) //扩展方法
{
JavaScriptSerializer Serializer = new JavaScriptSerializer();
return Serializer.Serialize(obj);
}
}
3.生成实体类
注:可以用Linq生成实体类
public partial class area
{
private int _id;
private string _areaname;
public int id
{
get;
set;
}
public string areaname
{
get;
set;
}
}
4.使用Ajax调用测试
新建test.aspx页面
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<area> areas = new List<area>();
areas.Add(new area
{
id = 1,
areaname = "浦东新区"
});
areas.Add(new area
{
id = 1,
areaname = "闵行区"
});
string JSONstr = areas.ToJSONString();
Response.Write(JSONstr);
}
}
智能感知中出现了 ToJSONString
5.使用Jquery进行调用
创建 default.aspx页面,代码如下
<script type="text/javascript" language="javascript" src="jquery.js"></script>
<div>
<input id="b1" type="button" value="测试" />
<span></span>
<script language="javascript" type="text/javascript">
$("#b1").click(test);
function test() {
$.ajax({
type: "get", //使用get方法访问后台
dataType: "json", //返回json格式的数据
url: "test.aspx", //要访问的后台地址
success: function (msg) {
$("span").html(msg[1].id + ":" + msg[1].areaname);
},
error: function() { alert("error"); }
});
}
</script>
</div>
6.结果
7.如果不用实体类,只使用数组
ArrayList x = new ArrayList();
x.Add("浦东新区");
x.Add("闵行区");
string JSONstr = x.ToJSONString();
Response.Write(JSONstr);
客户端接受到的返回值