asp html转json,ASP.NET JSON字符串与实体类的互转换示例代码

还是先封装一个类吧! 这个类网上都可以找到的!有个这个类,一切都将变得简单了,哈哈。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Runtime.Serialization.Json;

using System.ServiceModel.Web;///记得引用这个命名空间

using System.IO;

using System.Text;

///

/// Summary description for JsonHelper

///

public class JsonHelper

{

public JsonHelper()

{

//

// TODO: Add constructor logic here

//

}

///

/// 把对象序列化 JSON 字符串

///

/// 对象类型

/// 对象实体

/// JSON字符串

public static string GetJson(T obj)

{

//记住 添加引用 System.ServiceModel.Web

/**

* 如果不添加上面的引用,System.Runtime.Serialization.Json; Json是出不来的哦

* */

DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(T));

using (MemoryStream ms = new MemoryStream())

{

json.WriteObject(ms, obj);

string szJson = Encoding.UTF8.GetString(ms.ToArray());

return szJson;

}

}

///

/// 把JSON字符串还原为对象

///

/// 对象类型

/// JSON字符串

/// 对象实体

public static T ParseFormJson(string szJson)

{

T obj = Activator.CreateInstance();

using (MemoryStream ms = new MemoryStream (Encoding.UTF8.GetBytes(szJson)))

{

DataContractJsonSerializer dcj = new DataContractJsonSerializer(typeof(T));

return (T)dcj.ReadObject(ms);

}

}

}

测试实体类:

public class TestData

{

public TestData()

{

}

public int Id { get; set; }

public string Name { get; set; }

public string Sex { get; set; }

}

测试页面:

protected void Page_Load(object sender, EventArgs e)

{

string jsonStr = string.Empty;

List tds = new List();

//测试数据

for (int i = 1; i < 4; i++)

{

tds.Add(new TestData() { Id = i, Name = "jinho" + i, Sex = "male" });

}        //把一个list转换为json字符串

jsonStr = JsonHelper.GetJson>(tds);

Response.Write(jsonStr);

this.Page.ClientScript.RegisterStartupScript(this.GetType(), "json", "getJson(" + jsonStr + ");", true);

}

function getJson(jsonStr) {        //使用eval函数

var json = eval(jsonStr);         //因为上面为list集合

for (var i = 0; i < json.length; i++) {

alert(json[i].Id + "Name:" + json[i].Name);

}

}

关于json字符串转换为实体请各位自己测试吧!只要有上面那个JsonHelper 类,一切都好办!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值