1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        大致闡述JSON數據格式的編寫與運行方式

        發布時間:  2012/9/23 16:14:34

        本文著重介紹下JSON數據格式的相關內容說明,隨著JSON的不斷發展,編程的技巧也出現了不一樣的形式,對一些輕量級的數據交換格式進行編寫時,需要注意一些問題,比如輕量級的數據交換格式的問題。

         

        本次工作內容是要將以下數據解析成.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.         /// <summary> 
        26.  
        27.         /// 返回的數據結構定義,無數據  
        28.  
        29.         /// </summary> 
        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.         /// <summary> 
        46.  
        47.         /// 返回的數據,格式為DataTable,結構和FieldDefine中的結構一樣  
        48.  
        49.         /// </summary> 
        50.  
        51.         public DataTable RetrunData  
        52.  
        53.         {  
        54.  
        55.             get { return retrunData; }  
        56.  
        57.             set { retrunData = value; }  
        58.  
        59.         }  
        60.  
        61.    
        62.  
        63.         /// <summary> 
        64.  
        65.         /// 將json數據轉換為定義好的對象,數據轉換為DataTable  
        66.  
        67.         /// </summary> 
        68.  
        69.         /// <param name="jsonText"></param> 
        70.  
        71.         /// <returns></returns> 
        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<string, object> JsonData = (Dictionary<string, object>)s.DeserializeObject(jsonText);  
        84.  
        85.             Dictionary<string, object> dataSet = (Dictionary<string, object>)JsonData["dataSet"];  
        86.  
        87.             Dictionary<string, object> header = (Dictionary<string, object>)dataSet["header"];  
        88.  
        89.             Dictionary<string, object> fieldDefine = (Dictionary<string, object>)dataSet["header"];  
        90.  
        91.             Dictionary<string, object> data = (Dictionary<string, 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<string, object> dicFieldDefine = (Dictionary<string, object>)dataSet["fieldDefine"];  
        108.  
        109.             foreach (KeyValuePair<string, 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);  

        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      1. 您可能在找
      2. 億恩北京公司:
      3. 經營性ICP/ISP證:京B2-20150015
      4. 億恩鄭州公司:
      5. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      6. 億恩南昌公司:
      7. 經營性ICP/ISP證:贛B2-20080012
      8. 服務器/云主機 24小時售后服務電話:0371-60135900
      9. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      10. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线