在ASP.NET里list怎么转化为json

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ASP.NET里list怎么转化为json相关的知识,希望对你有一定的参考价值。

ASP.NET里面怎么把从数据库查到的list<class> 转化为json,只要JS弹出来的是JSON字符串就行了,请高手们帮忙

在ASP.NET里list转化为json的方法是传递到页面上用js方法转换。
Handler.ashx中代码如下:
using System.Web.Script.Serialization;
javascriptSerializer jss = new JavaScriptSerializer();
//list数据
List<T> list = new List<T>();
Response.Write(jss.Serialize(list));
前台js:
$.ajax(
type: "POST",
url: "xxx/js",
data: 传递的数据 ,
success: function (result)
var data = eval("("+result+")");
//这里,你需要用循环,动态生成table,tr,td来显示result中的数据
,
complete: function (xhr, ts)
xhr = null;
,
error: function ()
alert(\'error\');

);
参考技术A 给class加上[Serializable]属性
然后可以通过JavaScriptSerializer类将List序列化成json字符串,这个类在System.Web.Script.Serialization命名空间下面,需要添加System.Web.Extensions的引用
我的.net版本是4.0追问

我是新手,麻烦写个列子,谢谢,我的也是4.0,在ASPX后台任意的方法里面写一个

追答

//假设class结构如下
[Serializable]
public class MyClass

public string Nameget;set;
public string Codeget;set;

List List = new List(); //添加元素部分省略 JavaScriptSerializer jsSer = new JavaScriptSerializer(); string jsonStr = jsSer.Serialize(obj);
这里的jsonStr就是标准格式的json字符串了
要在页面上弹出,方法有很多种,这里用其中一种好了 ClientScript.RegisterStartupScript(this.GetType(), "json", "alert('" + jsonStr +"')", true);

参考技术B public static string Obj2Json<T>(T data)

try

System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(data.GetType());
using (MemoryStream ms = new MemoryStream())

serializer.WriteObject(ms, data);
return Encoding.UTF8.GetString(ms.ToArray());


catch

return null;

追问

json提示不存在,我不是用的MVC4,在ASPX后台方法写的

追答

工具引用中再添加 下面两个再试试
System.ServiceModel
System.ServiceModel.Web

本回答被提问者和网友采纳
参考技术C 在asp.net的webform应用中将对象序列化为json字符串的函数:
List
UserList=new
List
();
System.Web.Script.Serialization.JavaScriptSerializer
oSerializer
=
new
System.Web.Script.Serialization.JavaScriptSerializer();
string
sJSON
=
oSerializer.Serialize(new

total=10,
rows
=
showList
);
Response.Write(sJSON);
Response.End();
好像是在。net4.0中开始有这个东东的,如果想在2.0中用那还是自个儿拼字符串吧。

以上是关于在ASP.NET里list怎么转化为json的主要内容,如果未能解决你的问题,请参考以下文章

word 文档怎么转化为图片(asp.net)

asp.net 如何转化json数据为对象

JsonConvert 在 Newtonsoft.Json Asp.net MVC C# 中不起作用

ASP.NET里删除List集合里一个对象

在asp.net中如何将DataSet类型的数据集转换为List类型

Asp.Net MVC中DropDownListFor的用法(转)