Net对象转化为Josn格式的字符串
1.序列化数组格式为json标准的字符串
string[] strs = { "rupeng", "baidu", "qq" };
JavaScriptSerializer jss = new JavaScriptSerializer();
string json = jss.Serialize(strs);
//context.Response.Write(json);
2.序列化一个Person的对象为Json标准的字符串
//实力化一个person对象
Person peo = new Person();
peo.Id = 123;
peo.Name = "雷军";
peo.Age = 20;
string json1 = jss.Serialize(peo);//序列化
//context.Response.Write(json1);//此处就会生成json格式的字符串 {"Name":"雷军","Age":20,"Id":123}
3.序列化List集合成为Json格式的字符串
Person peo1 = new Person();
peo1.Id = 1;
peo1.Name = "将军";
peo1.Age = 20;
Person peo2 = new Person();
peo2.Id = 1;
peo2.Name = "司令";
peo2.Age = 26;
List<Person> list = new List<Person>();
list.Add(peo1);
list.Add(peo2);
JavaScriptSerializer jj = new JavaScriptSerializer();
string jsonn = jj.Serialize(list);
// context.Response.Write(jsonn);
4.序列化对象数组
Person[] pe = new Person[] { peo1, peo2 };
JavaScriptSerializer js = new JavaScriptSerializer();
string jssss = js.Serialize(pe);
context.Response.Write(jssss);
5.序列化匿名类对象
//序列化匿名类对象为Json格式
var p3=new {Id=8,Name="如鹏",Height=189};
JavaScriptSerializer js2 = new JavaScriptSerializer();
string jsj = js2.Serialize(p3);
context.Response.Write(jsj); //结果:{"Id":8,"Name":"如鹏","Height":189}
完整测试代码Json.ashx
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
using System.Web.Script.Serialization;
using System.Collections.Generic;
public class Handler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
//序列化数组格式为json标准的字符串
string[] strs = { "rupeng", "baidu", "qq" };
JavaScriptSerializer jss = new JavaScriptSerializer();
string json = jss.Serialize(strs);
//context.Response.Write(json);
//序列化一个Person的对象为Json标准的字符串
//实力化一个person对象
Person peo = new Person();
peo.Id = 123;
peo.Name = "雷军";
peo.Age = 20;
string json1 = jss.Serialize(peo);//序列化
//context.Response.Write(json1);//此处就会生成json格式的字符串 {"Name":"雷军","Age":20,"Id":123}
//序列化List集合成为Json格式的字符串
Person peo1 = new Person();
peo1.Id = 1;
peo1.Name = "将军";
peo1.Age = 20;
Person peo2 = new Person();
peo2.Id = 1;
peo2.Name = "司令";
peo2.Age = 26;
List<Person> list = new List<Person>();
list.Add(peo1);
list.Add(peo2);
JavaScriptSerializer jj = new JavaScriptSerializer();
string jsonn = jj.Serialize(list);
// context.Response.Write(jsonn);
//序列化对象数组
Person[] pe = new Person[] { peo1, peo2 };
JavaScriptSerializer js = new JavaScriptSerializer();
string jssss = js.Serialize(pe);
context.Response.Write(jssss);
}
public bool IsReusable
{
get
{
return false;
}
}
}
class Person //1。建一个类person,2.声明字段
{
public string Name { get; set; }
public int Age { get; set; }
public int Id { get; set; }
}
完整测试代码Josntest.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="../jquery.min.js"></script>
<script src="../rpAjax.js"></script>
<script type="text/javascript">
ajax("Jsontest.ashx",
function (re) {
var strs = eval("("+re+")");
for (var i = 0; i < strs.length; i++) {
//alert(strs[i]);
var person = strs[i];
alert("姓名:"+person.Name+"----年龄:"+person.Age);//Name、Age要一致,区分大小写的
}
},
function () {
alert("加载出错!");
});
</script>
</head>
<body>
</body>
</html>