Json数据格式在日常工作中还是非常实用的,只需要Json数据就可以了,如果对Json数据不太了解,那就必须先要对下面就对 进行学习,下面就对Json数据格式的代码进行系统的分析与研究。。#t#
为澄迈等地区用户提供了全套网页设计制作服务,及澄迈网站建设行业解决方案。主营业务为成都网站制作、成都网站建设、外贸营销网站建设、澄迈网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
看到另一篇C#解析Json的类 的文章现在json因为轻型,越来越流行,部门内部的数据标准趋向于json,所以开始学习。本次工作内容是要将以下数据解析成.Net可以使用的数据,返回的数据除了header,其他的都是可变的,也就是说结构不是固定的。完全由用户选择,所以选择了生成DataTable。
Json数据格式如下:
- 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();
- ///
- /// 返回的数据结构定义,无数据
- ///
- public DataTable FieldDefine
- {
- get { return fieldDefine; }
- set { fieldDefine = value; }
- }
- private DataTable retrunData = new DataTable();
- ///
- /// 返回的数据,格式为DataTable,结构和FieldDefine中的结构一样
- ///
- public DataTable RetrunData
- {
- get { return retrunData; }
- set { retrunData = value; }
- }
- ///
- /// 将json数据转换为定义好的对象,数据转换为DataTable
- ///
- /// name="jsonText">
- ///
- public static GeneralSearchResult GetTransformData(string jsonText)
- {
- GeneralSearchResult gsr = new GeneralSearchResult();
- JavaScriptSerializer s = new JavaScriptSerializer();
- Dictionary
, object> JsonData = (Dictionary , object>)s.DeserializeObject(jsonText); - Dictionary
, object> dataSet = (Dictionary , object>)JsonData["dataSet"]; - Dictionary
, object> header = (Dictionary , object>)dataSet["header"]; - Dictionary
, object> fieldDefine = (Dictionary , object>)dataSet["header"]; - Dictionary
, object> data = (Dictionary , 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
, object> dicFieldDefine = (Dictionary , object>)dataSet["fieldDefine"]; - foreach (KeyValuePair
, object> ss in dicFieldDefine) - {
- gsr.FieldDefine.Columns.Add(ss.Key, typeof(string));
- }
- gsrgsr.RetrunData = gsr.FieldDefine.Clone();
- foreach (object ob in rows)
- {
- Dictionary
, object> val = (Dictionary , object>)ob; - DataRow dr = gsr.RetrunData.NewRow();
- foreach (KeyValuePair
, object> sss in val) - {
- dr[sss.Key] = sss.Value;
- }
- gsr.RetrunData.Rows.Add(dr);
- }
- return gsr;
- }
- ///
- /// 数据文件头定义
- ///
- public class Header
- {
- private string version;
- ///
- /// 版本
- ///
- public string Version
- {
- get { return version; }
- set { version = value; }
- }
- private string returnCode;
- ///
- /// 结果码,0为正常,否则为有错误
- ///
- public string ReturnCode
- {
- get { return returnCode; }
- set { returnCode = value; }
- }
- private string errorInfo;
- ///
- /// 如果ReturnCode为非0时的错误信息
- ///
- public string ErrorInfo
- {
- get { return errorInfo; }
- set { errorInfo = value; }
- }
- private int totalRows;
- ///
- /// 查询结果总行数
- ///
- public int TotalRows
- {
- get { return totalRows; }
- set { totalRows = value; }
- }
- private int returnRows;
- ///
- /// 返回的数据行数
- ///
- public int ReturnRows
- {
- get { return returnRows; }
- set { returnRows = value; }
- }
- }
- }
- }
标题名称:探索非同凡响的Json数据格式说明
标题网址:http://www.shufengxianlan.com/qtweb/news15/264015.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联