大致阐述JSON数据格式的编写与运行方式

本文着重介绍下JSON数据格式的相关内容说明,随着JSON的不断发展,编程的技巧也出现了不一样的形式,对一些轻量级的数据交换格式进行编写时,需要注意一些问题,比如轻量级的数据交换格式的问题。#t#

温江网站建设公司成都创新互联公司,温江网站设计制作,有大型网站制作公司丰富经验。已为温江上千提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的温江做网站的公司定做!

本次工作内容是要将以下数据解析成.Net可以使用的数据,返回的数据除了header,其他的都是可变的,也就是说结构不是固定的。完全由用户选择,所以选择了生成DataTable。

SON数据格式如下:

 
 
  1. using System;  
  2.  
  3. using System.Collections.Generic;  
  4.  
  5. using System.Text;  
  6.  
  7. using System.Data;  
  8.  
  9. using System.Web.Script.Serialization;  
  10.  
  11.    
  12.  
  13. namespace Tencent.Itil.Cmsi.Common  
  14.  
  15. {  
  16.  
  17.     public class GeneralSearchResult  
  18.  
  19.     {  
  20.  
  21.         public Header header = new Header();  
  22.  
  23.         private DataTable fieldDefine = new DataTable();  
  24.  
  25.         ///  
  26.  
  27.         /// 返回的数据结构定义,无数据  
  28.  
  29.         ///  
  30.  
  31.         public DataTable FieldDefine  
  32.  
  33.         {  
  34.  
  35.             get { return fieldDefine; }  
  36.  
  37.             set { fieldDefine = value; }  
  38.  
  39.         }  
  40.  
  41.    
  42.  
  43.         private DataTable retrunData = new DataTable();  
  44.  
  45.         ///  
  46.  
  47.         /// 返回的数据,格式为DataTable,结构和FieldDefine中的结构一样  
  48.  
  49.         ///  
  50.  
  51.         public DataTable RetrunData  
  52.  
  53.         {  
  54.  
  55.             get { return retrunData; }  
  56.  
  57.             set { retrunData = value; }  
  58.  
  59.         }  
  60.  
  61.    
  62.  
  63.         ///  
  64.  
  65.         /// 将json数据转换为定义好的对象,数据转换为DataTable  
  66.  
  67.         ///  
  68.  
  69.         ///  name="jsonText"> 
  70.  
  71.         ///  
  72.  
  73.         public static GeneralSearchResult GetTransformData(string jsonText)  
  74.  
  75.         {  
  76.  
  77.             GeneralSearchResult gsr = new GeneralSearchResult();  
  78.  
  79.    
  80.  
  81.             JavaScriptSerializer s = new JavaScriptSerializer();  
  82.  
  83.             Dictionary, object> JsonData = (Dictionary, object>)s.DeserializeObject(jsonText);  
  84.  
  85.             Dictionary, object> dataSet = (Dictionary, object>)JsonData["dataSet"];  
  86.  
  87.             Dictionary, object> header = (Dictionary, object>)dataSet["header"];  
  88.  
  89.             Dictionary, object> fieldDefine = (Dictionary, object>)dataSet["header"];  
  90.  
  91.             Dictionary, object> data = (Dictionary, object>)dataSet["data"];  
  92.  
  93.             object[] rows = (object[])data["row"];  
  94.  
  95.             gsr.header.Version = header["version"].ToString();  
  96.  
  97.             gsr.header.ErrorInfo = header["errorInfo"].ToString();  
  98.  
  99.             gsr.header.ReturnCode = header["returnCode"].ToString();  
  100.  
  101.             gsr.header.ReturnRows = Convert.ToInt16(header["returnRows"]);  
  102.  
  103.             gsr.header.TotalRows = Convert.ToInt16(header["totalRows"]);  
  104.  
  105.    
  106.  
  107.             Dictionary, object> dicFieldDefine = (Dictionary, object>)dataSet["fieldDefine"];  
  108.  
  109.             foreach (KeyValuePair, object> ss in dicFieldDefine)  
  110.  
  111.             {  
  112.  
  113.    
  114.  
  115.                 gsr.FieldDefine.Columns.Add(ss.Key, typeof(string));  
  116.  
  117.    
  118.  
  119.             }  

JSON数据格式使用方法:

 
 
  1. GeneralSearchResult gsr = new GeneralSearchResult();   
  2. gsr = GeneralSearchResult.GetTransformData(text);  

分享标题:大致阐述JSON数据格式的编写与运行方式
分享URL:http://www.hantingmc.com/qtweb/news15/665.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联