天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

asp.net(C#)解析Json的類代碼

本次工作內容是要將以下數據解析成.NET可以使用的數據,返回的數據除了header,其他的都是可變的,也就是說結構不是固定的。完全由用戶選擇,所以選擇了生成DataTable。
Json數據格式如下:
復制代碼 代碼如下:
{"dataSet":{
"header":{
"returnCode":"0",
"errorInfo":"HTTP請求錯誤",
"version":"V1.0R010",
"totalRows":"2000",
"returnRows":"20"
},
"fieldDefine":{
"assetId":"string",
"serverIdcId":"int",
"inputTime":"datetime"
},
"data":{"row":[
{
"AssetId":"TCNS2006888",
"ServerIdcId":"1",
"InputTime":"2008-12-12"
},
{
"AssetId":"TCNS2006889",
"ServerIdcId":"2",
"InputTime":"2008-1-1"
}
]}
}
}

解析的類:
復制代碼 代碼如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Web.Script.Serialization;
namespace Tencent.Itil.Cmsi.Common
{
public class GeneralSearchResult
{
public Header header = new Header();
private DataTable fieldDefine = new DataTable();
/// <summary>
/// 返回的數據結構定義,無數據
/// </summary>
public DataTable FieldDefine
{
get { return fieldDefine; }
set { fieldDefine = value; }
}
private DataTable retrunData = new DataTable();
/// <summary>
/// 返回的數據,格式為DataTable,結構和FieldDefine中的結構一樣
/// </summary>
public DataTable RetrunData
{
get { return retrunData; }
set { retrunData = value; }
}
/// <summary>
/// 將json數據轉換為定義好的對象,數據轉換為DataTable
/// </summary>
/// <param name="jsonText"></param>
/// <returns></returns>
public static GeneralSearchResult GetTransformData(string jsonText)
{
GeneralSearchResult gsr = new GeneralSearchResult();
JavaScriptSerializer s = new JavaScriptSerializer();
Dictionary<string, object> JsonData = (Dictionary<string, object>)s.DeserializeObject(jsonText);
Dictionary<string, object> dataSet = (Dictionary<string, object>)JsonData["dataSet"];
Dictionary<string, object> header = (Dictionary<string, object>)dataSet["header"];
Dictionary<string, object> fieldDefine = (Dictionary<string, object>)dataSet["header"];
Dictionary<string, object> data = (Dictionary<string, object>)dataSet["data"];
object[] rows = (object[])data["row"];
gsr.header.Version = header["version"].ToString();
gsr.header.ErrorInfo = header["errorInfo"].ToString();
gsr.header.ReturnCode = header["returnCode"].ToString();
gsr.header.ReturnRows = Convert.ToInt16(header["returnRows"]);
gsr.header.TotalRows = Convert.ToInt16(header["totalRows"]);
Dictionary<string, object> dicFieldDefine = (Dictionary<string, object>)dataSet["fieldDefine"];
foreach (KeyValuePair<string, object> ss in dicFieldDefine)
{
gsr.FieldDefine.Columns.Add(ss.Key, typeof(string));
}
gsr.RetrunData = gsr.FieldDefine.Clone();
foreach (object ob in rows)
{
Dictionary<string, object> val = (Dictionary<string, object>)ob;
DataRow dr = gsr.RetrunData.NewRow();
foreach (KeyValuePair<string, object> sss in val)
{
dr[sss.Key] = sss.Value;
}
gsr.RetrunData.Rows.Add(dr);
}
return gsr;
}
/// <summary>
/// 數據文件頭定義
/// </summary>
public class Header
{
private string version;
/// <summary>
/// 版本
/// </summary>
public string Version
{
get { return version; }
set { version = value; }
}
private string returnCode;
/// <summary>
/// 結果碼,0為正常,否則為有錯誤
/// </summary>
public string ReturnCode
{
get { return returnCode; }
set { returnCode = value; }
}
private string errorInfo;
/// <summary>
/// 如果ReturnCode為非0時的錯誤信息
/// </summary>
public string ErrorInfo
{
get { return errorInfo; }
set { errorInfo = value; }
}
private int totalRows;
/// <summary>
/// 查詢結果總行數
/// </summary>
public int TotalRows
{
get { return totalRows; }
set { totalRows = value; }
}
private int returnRows;
/// <summary>
/// 返回的數據行數
/// </summary>
public int ReturnRows
{
get { return returnRows; }
set { returnRows = value; }
}
}
}
}

使用方法:
GeneralSearchResult gsr = new GeneralSearchResult();
gsr = GeneralSearchResult.GetTransformData(text);

AspNet技術asp.net(C#)解析Json的類代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 免费看男人J放进女人J无遮掩 | 达达兔欧美午夜国产亚洲 | 人妻洗澡被强公日日澡 | 午夜神器18以下不能进免费 | AV天堂午夜精品一区 | 啪啪做羞羞事小黄文 | 女人张开腿让男人桶爽免 | 2020亚洲国产在线播放在线 | 打扑克床上视频不用下载免费观看 | 国产精品高清视频在线 | FERRCHINA内入内射 | 含羞草完整视频在线播放免费 | 任你躁精品一区二区三区 | 涩里番app黄版网站 色综合伊人色综合网站中国 | 中国比基尼美女 | 麻豆高清免费国产一区 | 久久er国产免费精品 | V8成品人视频 | 无码任你躁久久久久久老妇双奶 | 亚洲日韩天堂在线中文字幕 | 亚洲欧美日韩精品久久奇米色影视 | 医生含着我的奶边摸边做 | 国产精品一区二区资源 | 神马电影我不卡4k手机在线观看 | 成年视频国产免费观看 | 无码中文字幕av免费放 | 99久久国产极品蜜臀AV酒店 | 亚洲AV无码专区国产精品99 | 99精品免费久久久久久久久日本 | 久久伊人男人的天堂网站 | 好男人好资源在线播放 | 5g天天影院天天看天天爽 | 国产偷抇久久精品A片蜜臀AV | 性色AV一区二区三区咪爱四虎 | 国产成人精品s8p视频 | 亚洲午夜精品一区二区公牛电影院 | 男人日女人的b | 青青草久久 | 嗯啊…嗯np男男双性总受 | 超碰在线97久久视频观看 | 一品道门在线观看免费视频 |