• C#操作Json数据


    JSON是现今各语言实现数据交互应用最广泛的一种格式,在于Xml的比较中,由于 JSON 所使用的字符要比 XML 少得多,可以大大得节约传输数据所占用得带宽。

     本文采用的是Newtonsoft.Json插件类库提供的JsonConvert操作类实现

     下面附上Json操作类的源码

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;
    
    namespace SP.Studio.Json
    {
        /// <summary>
        /// Json操作类
        /// Author:Jacky
        /// </summary>
        public static class JsonAgent
        {
            /// <summary>
            /// 把json格式的单一对象转换成为哈希表
            /// </summary>
            public static Hashtable GetJObject(string json)
            {
                Hashtable ht = new Hashtable();
                try
                {
                    JObject obj = (JObject)JsonConvert.DeserializeObject(json);
                    foreach (KeyValuePair<string, JToken> keyValue in obj)
                    {
                        ht.Add(keyValue.Key, keyValue.Value);
                    }
                }
                catch (Exception ex)
                {
                    ht.Add("Exception", ex.Message);
                }
    
                return ht;
            }
    
            /// <summary>
            /// 把一个json数组对象转化成为hashlist
            /// </summary>
            public static Hashtable[] GetJList(string json)
            {
                Hashtable[] list;
                try
                {
                    JArray obj = (JArray)JsonConvert.DeserializeObject(json);
                    list = new Hashtable[obj.Count];
                    for (int i = 0; i < list.Length; i++)
                    {
                        list[i] = new Hashtable();
                        foreach (KeyValuePair<string, JToken> keyValue in (JObject)obj[i])
                        {
                            list[i].Add(keyValue.Key, keyValue.Value);
                        }
                    }
    
                }
                catch (Exception ex)
                {
                    list = null;
                }
                return list;
            }
    
            /// <summary>
            /// 将Json字符串转化为实体对象
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="json"></param>
            /// <returns></returns>
            public static T DeserializeObject<T>(string json)
            {
                return JsonConvert.DeserializeObject<T>(json);
            }
        }
    }
    

    调用方式跟上一篇操作Xml的差不多

    PS:扫描下方二维码或点击链接,加入QQ群

    一群用代码改变世界的疯子

  • 相关阅读:
    COGS2355 【HZOI2015】 有标号的DAG计数 II
    COGS2353 【HZOI2015】有标号的DAG计数 I
    COGS2259 异化多肽
    二项式定理
    Codeforces 528D Fuzzy Search
    技术文章阅读-华为WS331a产品管理页面存在CSRF漏洞
    技术文章阅读-天翼创维awifi路由器存在多处未授权访问漏洞
    技术文章阅读-红蓝对抗系列之浅谈蓝队反制红队的手法一二
    技术文章阅读-Solr ReplicationHandler漏洞浅析
    技术文章阅读-记一次edu站点从敏感信息泄露到getshell
  • 原文地址:https://www.cnblogs.com/ydcnblog/p/9258682.html
Copyright © 2020-2023  润新知