zoukankan      html  css  js  c++  java
  • 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群

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

  • 相关阅读:
    干货!常见的SQL面试题:经典50例!
    图解SQL基础知识,小白也能看懂的SQL文章!
    30多个Java实战项目,全部在这里了。
    Spring的@PropertySource注解使用
    20201226[java]两数相加
    1013.表-约束-唯一、主键、外键和排他
    1012.表-约束-检查
    1011.表-生成列
    1010.表默认值
    1009.表基础-初识表
  • 原文地址:https://www.cnblogs.com/ydcnblog/p/9258682.html
Copyright © 2011-2022 走看看