亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

通過Jquery的Ajax方法讀取將table轉(zhuǎn)換為Json

2019-11-20 15:00:09
字體:
供稿:網(wǎng)友
1. 創(chuàng)建Users表
復(fù)制代碼 代碼如下:

create table Users
(
UserId int identity(1,1) primary key,
UserName varchar(20)
)

insert into Users values('Bradley')
insert into Users values('Dan')

復(fù)制代碼 代碼如下:

create table Users
(
UserId int identity(1,1) primary key,
UserName varchar(20)
)

insert into Users values('Bradley')
insert into Users values('Dan')

2. 創(chuàng)建JsonHelper類
復(fù)制代碼 代碼如下:

public class JsonHelper
{
#region 序列化和反序列化
// 序列化
public static string JsonSerializer<T>(T t)
{
// 使用 DataContractJsonSerializer 將 T 對象序列化為內(nèi)存流。
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof (T));
MemoryStream ms = new MemoryStream();
// 使用 WriteObject 方法將 JSON 數(shù)據(jù)寫入到流中。
jsonSerializer.WriteObject(ms, t);
// 流轉(zhuǎn)字符串
string jsonString = Encoding.UTF8.GetString(ms.ToArray());
ms.Close();
//替換Json的Date字符串
string p = @"http:///Date/((/d+)/+/d+/)///";
MatchEvaluator matchEvaluator = new MatchEvaluator(ConvertJsonDateToDateString);
Regex reg = new Regex(p);
jsonString = reg.Replace(jsonString, matchEvaluator);
return jsonString;
}
public static T JsonDeserialize<T>(string jsonString)
{
//將"yyyy-MM-dd HH:mm:ss"格式的字符串轉(zhuǎn)為"http://Date(1294499956278+0800)//"格式
string p = @"/d{4}-/d{2}-/d{2}/s/d{2}:/d{2}:/d{2}";
MatchEvaluator matchEvaluator = new MatchEvaluator(ConvertDateStringToJsonDate);
Regex reg = new Regex(p);
jsonString = reg.Replace(jsonString, matchEvaluator);
DataContractJsonSerializer jsonSerializer=new DataContractJsonSerializer(typeof(T));
// 字符串轉(zhuǎn)流
MemoryStream ms=new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
// 通過使用 DataContractJsonSerializer 的 ReadObject 方法,將 JSON 編碼數(shù)據(jù)反序列化為T
T obj = (T) jsonSerializer.ReadObject(ms);
return obj;
}
public static string ConvertJsonDateToDateString(Match match)
{
string result = string.Empty;
DateTime dateTime=new DateTime(1970,1,1);
dateTime = dateTime.AddMilliseconds(long.Parse(match.Groups[1].Value));
dateTime = dateTime.ToLocalTime();
result = dateTime.ToString("yyyy-MM-dd HH:mm:ss");
return result;
}
private static string ConvertDateStringToJsonDate(Match m)
{
string result = string.Empty;
DateTime dt = DateTime.Parse(m.Groups[0].Value);
dt = dt.ToUniversalTime();
TimeSpan ts = dt - DateTime.Parse("1970-01-01");
result = string.Format("http:///Date({0}+0800)///",ts.TotalMilliseconds);
return result;
}
#endregion

// 對象轉(zhuǎn)換為Json
public static string ObjectToJson(object obj)
{
JavaScriptSerializer js=new JavaScriptSerializer();
try
{
return js.Serialize(obj);
}
catch (Exception exception)
{

throw new Exception(exception.Message);
}
}
// 數(shù)據(jù)表轉(zhuǎn)化為集合
public static List<Dictionary<string,object>> DataTableToList(DataTable dt)
{
List<Dictionary<string ,object>> list=new List<Dictionary<string, object>>();
foreach (DataRow dataRow in dt.Rows)
{
Dictionary<string,object> dic=new Dictionary<string, object>();
foreach (DataColumn dc in dt.Columns)
{
dic.Add(dc.ColumnName,dataRow[dc.ColumnName]);
}
list.Add(dic);
}
return list;
}
// 表轉(zhuǎn)換為Json
public static string DataTableToJson(DataTable dt)
{
return ObjectToJson(DataTableToList(dt));
}
}

復(fù)制代碼 代碼如下:

public class JsonHelper
{
#region 序列化和反序列化
// 序列化
public static string JsonSerializer<T>(T t)
{
// 使用 DataContractJsonSerializer 將 T 對象序列化為內(nèi)存流。
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof (T));
MemoryStream ms = new MemoryStream();
// 使用 WriteObject 方法將 JSON 數(shù)據(jù)寫入到流中。
jsonSerializer.WriteObject(ms, t);
// 流轉(zhuǎn)字符串
string jsonString = Encoding.UTF8.GetString(ms.ToArray());
ms.Close();
//替換Json的Date字符串
string p = @"http:///Date/((/d+)/+/d+/)///";
MatchEvaluator matchEvaluator = new MatchEvaluator(ConvertJsonDateToDateString);
Regex reg = new Regex(p);
jsonString = reg.Replace(jsonString, matchEvaluator);
return jsonString;
}
public static T JsonDeserialize<T>(string jsonString)
{
//將"yyyy-MM-dd HH:mm:ss"格式的字符串轉(zhuǎn)為"http://Date(1294499956278+0800)//"格式
string p = @"/d{4}-/d{2}-/d{2}/s/d{2}:/d{2}:/d{2}";
MatchEvaluator matchEvaluator = new MatchEvaluator(ConvertDateStringToJsonDate);
Regex reg = new Regex(p);
jsonString = reg.Replace(jsonString, matchEvaluator);
DataContractJsonSerializer jsonSerializer=new DataContractJsonSerializer(typeof(T));
// 字符串轉(zhuǎn)流
MemoryStream ms=new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
// 通過使用 DataContractJsonSerializer 的 ReadObject 方法,將 JSON 編碼數(shù)據(jù)反序列化為T
T obj = (T) jsonSerializer.ReadObject(ms);
return obj;
}
public static string ConvertJsonDateToDateString(Match match)
{
string result = string.Empty;
DateTime dateTime=new DateTime(1970,1,1);
dateTime = dateTime.AddMilliseconds(long.Parse(match.Groups[1].Value));
dateTime = dateTime.ToLocalTime();
result = dateTime.ToString("yyyy-MM-dd HH:mm:ss");
return result;
}
private static string ConvertDateStringToJsonDate(Match m)
{
string result = string.Empty;
DateTime dt = DateTime.Parse(m.Groups[0].Value);
dt = dt.ToUniversalTime();
TimeSpan ts = dt - DateTime.Parse("1970-01-01");
result = string.Format("http:///Date({0}+0800)///",ts.TotalMilliseconds);
return result;
}
#endregion

// 對象轉(zhuǎn)換為Json
public static string ObjectToJson(object obj)
{
JavaScriptSerializer js=new JavaScriptSerializer();
try
{
return js.Serialize(obj);
}
catch (Exception exception)
{

throw new Exception(exception.Message);
}
}
// 數(shù)據(jù)表轉(zhuǎn)化為集合
public static List<Dictionary<string,object>> DataTableToList(DataTable dt)
{
List<Dictionary<string ,object>> list=new List<Dictionary<string, object>>();
foreach (DataRow dataRow in dt.Rows)
{
Dictionary<string,object> dic=new Dictionary<string, object>();
foreach (DataColumn dc in dt.Columns)
{
dic.Add(dc.ColumnName,dataRow[dc.ColumnName]);
}
list.Add(dic);
}
return list;
}
// 表轉(zhuǎn)換為Json
public static string DataTableToJson(DataTable dt)
{
return ObjectToJson(DataTableToList(dt));
}
}

3. 添加ashx代碼文件
復(fù)制代碼 代碼如下:

public class GetData : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
if (context.Request["action"]=="display")
{
context.Response.Write(JsonHelper.DataTableToJson(GetAllUsers()));
}
}

static SqlConnection conn = new SqlConnection("server=.;database=Test;uid=sa;pwd=123456");
public static DataTable GetAllUsers()
{
string sql = "select * from users";
SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
DataTable dt = new DataTable();
adapter.Fill(dt);
return dt;
}
public bool IsReusable
{
get
{
return false;
}
}
}

復(fù)制代碼 代碼如下:

public class GetData : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
if (context.Request["action"]=="display")
{
context.Response.Write(JsonHelper.DataTableToJson(GetAllUsers()));
}
}

static SqlConnection conn = new SqlConnection("server=.;database=Test;uid=sa;pwd=123456");
public static DataTable GetAllUsers()
{
string sql = "select * from users";
SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
DataTable dt = new DataTable();
adapter.Fill(dt);
return dt;
}
public bool IsReusable
{
get
{
return false;
}
}
}

4. 前端調(diào)用
復(fù)制代碼 代碼如下:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<script src="js/jquery-1.6.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
var options = {
type: 'post',
url: "/GetData.ashx",
dataType: "json",
data: { action: "display" },
success: function(data) {
var html = "<table border='2px' style='text-align:center;border-style:solid;border-width:2px;border-color:#00ff00;'><tr><td>UserId</td><td>UserName</td></tr>";
$.each(data, function(i, result) {
html += "<tr><td>" + result["UserId"] + "</td><td>" + result["UserName"] + "</td></tr>";
})
html += "</table>";
$("#divData").html(html);
}
};
$.ajax(options);
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="divData">

</div>
</form>
</body>
</html>

復(fù)制代碼 代碼如下:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<script src="js/jquery-1.6.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
var options = {
type: 'post',
url: "/GetData.ashx",
dataType: "json",
data: { action: "display" },
success: function(data) {
var html = "<table border='2px' style='text-align:center;border-style:solid;border-width:2px;border-color:#00ff00;'><tr><td>UserId</td><td>UserName</td></tr>";
$.each(data, function(i, result) {
html += "<tr><td>" + result["UserId"] + "</td><td>" + result["UserName"] + "</td></tr>";
})
html += "</table>";
$("#divData").html(html);
}
};
$.ajax(options);
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="divData">

</div>
</form>
</body>
</html>

5. 效果圖
 
6. 同樣可以通過getJSON方法讀取數(shù)據(jù)
復(fù)制代碼 代碼如下:


$.getJSON("/GetData.ashx",{ action: "display" },function(data) {
var html = "<table border='2px' style='text-align:center;border-style:solid;border-width:2px;border-color:#00ff00;'><tr><td>UserId</td><td>UserName</td></tr>";
$.each(data, function(i, result) {
html += "<tr><td>" + result["UserId"] + "</td><td>" + result["UserName"] + "</td></tr>";
})
html += "</table>";
$("#divData").html(html);
})

復(fù)制代碼 代碼如下:

$.getJSON("/GetData.ashx",{ action: "display" },function(data) {
var html = "<table border='2px' style='text-align:center;border-style:solid;border-width:2px;border-color:#00ff00;'><tr><td>UserId</td><td>UserName</td></tr>";
$.each(data, function(i, result) {
html += "<tr><td>" + result["UserId"] + "</td><td>" + result["UserName"] + "</td></tr>";
})
html += "</table>";
$("#divData").html(html);
})
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产精品视频流白浆免费视频| 午夜亚洲福利老司机| 三级黄色在线视频| 黄色av网址在线播放| 97免费观看视频| 国产精品美女av| 97人妻精品一区二区三区免| 91吃瓜在线观看| 亚洲影院中文字幕| jizzjizz亚洲中国少妇| 免费a级片网站| 国产高清成人久久| 国产精品亚洲人成在99www| 亚洲美女少妇无套啪啪呻吟| 青青青在线视频播放| 国产88在线观看入口| 亚洲第一黄色| 加勒比婷婷色综合久久| 久久婷婷久久一区二区三区| 国产成人免费看| 97成人资源站| 亚洲人人精品| 亚洲老板91色精品久久| 亚洲人视频在线观看| 日韩情涩欧美日韩视频| 国产一区精品在线| 91麻豆国产在线观看| 熟女高潮一区二区三区| 91精品免费在线观看| 狠狠色噜噜狠狠狠狠888奇米| 美女福利视频网| 91玉足脚交白嫩脚丫在线播放| 久久久精品一区二区| 国产黄色三级网站| 欧美一级特黄aaaaaa在线看片| 日韩电影中文字幕| 欧美日韩国产乱码电影| 91久久在线播放| 久久精品国产免费观看99| 五月天婷亚洲天综合网精品偷| 黄色片在线看| 日本一区二区三区视频在线| 国产乱码精品一区二区| 97视频一区| 午放福利视频在线播放| 99久精品国产| www.日本一区| 欧美日韩大陆一区二区| 久草免费在线| 亚洲三级黄色片| 情趣视频在线观看| 国产情人节一区| 人妻熟人中文字幕一区二区| 亚洲国产99精品国自产| 日韩精品一区二区三区外面| 影音先锋欧美在线| 精品无人区太爽高潮在线播放| 亚洲第一天堂av| 91豆花视频在线播放| 国产午夜在线播放| 日韩精品久久一区二区| 日韩片电影在线免费观看| 国产欧美日韩亚洲一区二区三区| 51精产品一区一区三区| 国精品无码一区二区三区| 亚洲成人免费在线观看| 91文字幕巨乱亚洲香蕉| 精品一区二区不卡| 国产第100页| 日韩一区国产在线观看| 亚洲精品720p| 日韩黄色免费电影| 成人在线综合网| 免费日韩一区二区三区| 国产91白丝在线播放| 国产偷国产偷亚洲高清97cao| 欧美一区二区少妇| 国产在线激情视频| 中文字幕第21页| 激情不卡一区二区三区视频在线| 无码人中文字幕| 欧美精品aⅴ在线视频| 97视频在线免费播放| 69久久夜色精品国产69乱青草| 欧美怡春院一区二区三区| a级日韩大片| 青檬在线电视剧在线观看| 久久99国产精品尤物| 日本韩国在线视频爽| 国产精品欧美大片| 亚洲激情亚洲| 久久久亚洲福利精品午夜| 亚洲国产精品成人一区二区在线| 久青草国产97香蕉在线视频| 国内精品国产成人国产三级| 亚洲视频一起| 日本在线免费| 97国产精品免费视频| 亚洲成人一二三| 日韩一区二区三区免费| 久草在线资源视频在线观看| 国产在线看一区| 日本熟妇毛茸茸丰满| 久久午夜宅男免费网站| 精品国产一区二区三区四区精华| 欧美大胆a人体大胆做受| 亚洲国产精品久久人人爱潘金莲| 成人黄色在线免费观看| 在线观看18视频网站| 日韩av超清在线观看| 91精品国产综合久久久久久久| 国产福利热线视频| 久艹视频在线免费观看| 四虎884aa成人精品最新| 久久中文字幕国产| 一本一道精品欧美中文字幕| 国内自拍欧美激情| 亚洲天堂日韩av| 欧美美女日韩| 国产永久精品大片wwwapp| 美女的胸无遮挡在线观看| 精品亚洲一区二区三区四区五区| 欧美视频一区二| 日韩一区二区电影在线| 婷婷色中文字幕| 一区二区三区精品| 欧美性猛交xxxx乱大交少妇| 91视频免费观看| 欧美成人app| 看亚洲a级一级毛片| 久久精品国产亚洲7777| 国产乱码精品一区二区三区五月婷| 国产成人精品久久二区二区| 亚洲欧洲一二区| 精品国产一区久久久| 激情综合网天天干| 人妻少妇精品无码专区二区| 国产精品69毛片高清亚洲| 成人欧美一区二区三区黑人免费| 四虎海外影库www4hu| 国产传媒在线播放| 亚洲免费视频二区| 综合国产精品久久久| rebdb初裸写真在线观看| 国产精品毛片一区二区三区四区| 亚洲激情av| 精品一区二区成人免费视频| 欧美视频三区在线播放| 亚洲va欧美va天堂v国产综合| av网站免费| 日韩在线观看不卡| 黄色片视频在线免费观看| 亚洲三级在线免费观看| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲国产另类 国产精品国产免费| 别急慢慢来1978如如2| 国内伊人久久久久久网站视频| 国产精品无码久久av| 国产97免费视频| 一本一本久久a久久精品综合妖精| 77777少妇光屁股久久一区| 国产jizz18女人高潮| 国产毛片欧美毛片久久久| 色婷婷一区二区三区av免费看| 一区二区不卡| 国产精品视频免费看| 波多野结衣一本一道| 国产精品高潮呻吟久久| 婷婷综合社区| 日韩福利电影在线| 一区二区三区在线免费观看视频| 丝袜诱惑制服诱惑色一区在线观看| 一本大道久久精品懂色aⅴ| 国产理论在线| 国产精品igao视频网网址不卡日韩| 国产一区二区三区在线| 台湾成人av| 蜜桃视频一区| 波多野结衣亚洲色图| 欧美综合激情| 午夜国产精品影院在线观看| 国内精品久久久久影院 日本资源| 一区二区理论电影在线观看| 亚洲精品你懂的| 社区色欧美激情 | 国产免费无遮挡| 日本在线观看免费视频| 成人午夜在线播放| 视频精品一区二区三区| 免费看的黄色欧美网站| 亚洲国产精品欧美久久| 精品免费在线| 一区二区三区日韩欧美精品| 日韩欧美高清一区| 午夜精品久久久久久久久久久久久| 日本在线观看网址| 91精品国产欧美一区二区18| 91精品国产品国语在线不卡| 五月天久久久久久| 综合精品久久| 亚洲jizzjizz妇女| 狠狠人妻久久久久久综合麻豆| 免费的色视频| 中文字幕av一区二区三区人妻少妇| 亚洲图片欧美日产| 天天操天天干视频| 欧美色第一页| 欧美午夜激情影院| 亚洲一级黄色大片| 午夜av噜噜噜噜噜噜| 亚洲mv在线| 中文日产幕无线码一区二区| 亚洲色图偷拍视频| 伊人久久大香线蕉综合影院首页| 在线视频国产日韩| 羞羞的网站在线观看| 无码人妻丰满熟妇奶水区码| 亚洲国产cao| 91嫩草在线视频| 亚洲一区二区三区四区在线免费观看| 99在线免费视频| 欧美大胆的人体xxxx| 午夜不卡久久精品无码免费| 玛丽玛丽电影原版免费观看1977| 性欧美精品一区二区三区在线播放| a在线视频v视频| 欧美性生交片4| av在线导航| 亚洲午夜极品| 亚州精品永久观看视频| 日本dhxxxxxdh14日本| 日韩av午夜在线观看| a在线播放不卡| 色先锋av资源| 欧美a级成人淫片免费看| 懂色av蜜臀av粉嫩av分享吧| 国产性生交xxxxx免费| 成人日批视频| 日本视频免费高清一本18| 日韩av手机在线观看| 色素色在线综合| 国内精品久久久久影院一蜜桃| 香蕉视频国产精品| 亚洲色图都市激情| 亚洲国产精品久久久久爰性色| 免费激情视频在线观看| 图片区小说区区亚洲影院| 蜜桃视频动漫在线播放| 97免费视频在线| 蜜桃视频在线观看免费视频网站www| 精品国产乱码久久久久久婷婷| 一区二区三区在线免费看| 特级西西人体高清大胆| 精品一区二区三区免费播放| 免费网站观看www在线观看| 九色91在线| 国产亚洲激情视频在线| 男人天堂2024| 久久久久久夜| 99re6在线精品视频免费播放| 亚洲大黄网站| 精品盗摄一区二区三区| 91久久国产综合久久91猫猫| 日本日本精品二区免费| 蜜桃av一区二区在线观看| 少妇按摩一区二区三区| 最新热久久免费视频| 国产一区二区免费| 性爱视频日本| 91日韩免费| 欧美精品色一区二区三区| 18av千部影片| 色狠狠av一区二区三区| 中文字幕久久久av一区| 欧美三级中文字幕在线观看| 国产精品亚洲一区二区三区在线观看| 亚洲男人电影天堂| 国产成人精品福利一区二区三区| 日本高清无吗v一区| 欧美亚洲黄色片| 噜噜噜狠狠夜夜躁精品仙踪林| 亚洲一区有码| 秋霞欧美在线观看| 亚洲视频在线网| 国产日韩欧美日韩大片| 欧美一区二区观看视频| 欧美一级片免费在线观看| jizzjizz国产| 1024欧美极品| 国产精品入口麻豆免费看| 日本24小时在线高清视频| 色综合天天做天天爱| 国产精品久久一区| 国产精品久久久久77777| 日本三级视频在线播放| 欧美三级电影一区二区三区| 欧美18 19xxx| 亚洲国产欧美一区二区三区同亚洲| 亚洲精品国产久| 伊人影院在线观看| 在线播放欧美女士性生活| 中文字幕亚洲一区二区av在线| 鬼打鬼之黄金道士1992林正英| 国产日韩一区二区三免费高清| 国产毛片久久| 亚洲精品三级| 久久99国产精品二区高清软件| 日韩精品欧美成人高清一区二区| 熟女少妇精品一区二区| 亚洲成人一区在线观看| 在线观看视频一区| 国产精品一级黄| 中文字幕码精品视频网站| 一区三区自拍| 欧美日韩你懂的| 成人性生交大片免费看视频r| 牛牛精品成人免费视频| 风间由美一区二区三区| 国产黄片一区二区三区| 国产精品x453.com| 国产美女自拍| 亚洲欧美一区二区三区久久| 日韩乱码一区二区| 国产精品高潮呻吟视频| 1024欧美极品| 91av国产在线| 九九热hot精品视频在线播放| 国产一区二区精品丝袜|