国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

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

來源:懂視網 責編:小采 時間:2020-11-27 22:43:38
文檔

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

asp.net(C#)解析Json的類代碼:本次工作內容是要將以下數據解析成.Net可以使用的數據,返回的數據除了header,其他的都是可變的,也就是說結構不是固定的。完全由用戶選擇,所以選擇了生成DataTable。 Json數據格式如下: 代碼如下:{dataSet:{ header:{ returnCo
推薦度:
導讀asp.net(C#)解析Json的類代碼:本次工作內容是要將以下數據解析成.Net可以使用的數據,返回的數據除了header,其他的都是可變的,也就是說結構不是固定的。完全由用戶選擇,所以選擇了生成DataTable。 Json數據格式如下: 代碼如下:{dataSet:{ header:{ returnCo

本次工作內容是要將以下數據解析成.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);

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

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

asp.net(C#)解析Json的類代碼:本次工作內容是要將以下數據解析成.Net可以使用的數據,返回的數據除了header,其他的都是可變的,也就是說結構不是固定的。完全由用戶選擇,所以選擇了生成DataTable。 Json數據格式如下: 代碼如下:{dataSet:{ header:{ returnCo
推薦度:
標簽: 代碼 解析 net
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产精品久久一区一区 | 一区二区三区成人 | 亚洲欧美综合网站 | 精品欧美视频 | 国产精品亚洲αv天堂2021 | 国产精品免费视频播放 | 国产日产精品_国产精品毛片 | 91精品日本久久久久久牛牛 | 欧美日韩国产一区二区三区 | 欧美亚洲天堂 | 日韩亚洲欧美在线 | 伊人久久91 | 免费看男女做好爽好硬视频 | 久久国产亚洲欧美日韩精品 | 国产精品一区二区免费 | 欧美成人一区二区三区 | 成人欧美一区二区三区黑人 | 午夜精品一区二区三区在线观看 | 国产最新网站 | 91国内精品久久久久免费影院 | 天天做夜夜做久久做狠狠 | 中文字幕亚洲天堂 | 日本一区二区三区免费高清在线 | 劲爆欧美第一页 | 不卡一区二区三区四区 | 免费看欧美日韩一区二区三区 | 欧美特黄一区二区三区 | 亚洲专区欧美 | 欧美曰韩 | 91po国产在线精品免费观看 | 亚洲视频在线免费播放 | 亚洲欧美日韩三级 | 亚洲欧美色图 | 高清精品一区二区三区一区 | 欧美不卡二区 | 亚洲 欧美 自拍 另类 欧美 | 中文字幕va一区二区三区 | 国产在线播放一区二区 | 久久免费视频观看 | 亚洲欧美视频在线 | 国产日韩欧美中文字幕 |