[关闭]
@13014673050 2015-06-28T10:42:47.000000Z 字数 2881 阅读 462

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>
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注