C#简易Json操作_艾孜尔江撰

命名空间

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Reflection;
using System.Collections;
using System.Collections.Generic;
using System.Text.RegularExpressions;
		#region list转json
        /// 
        /// list转json
        /// 
        public static string ListToJson<T>(IList<T> list)
        {
     
            object obj = list[0];
            return ListToJson<T>(list, obj.GetType().Name);
        }

        private static string ListToJson<T>(IList<T> list, string JsonName)
        {
     
            StringBuilder Json = new StringBuilder();
            if (string.IsNullOrEmpty(JsonName))
                JsonName = list[0].GetType().Name;
            Json.Append("{\"" + JsonName + "\":[");
            if (list.Count > 0)
            {
     
                for (int i = 0; i < list.Count; i++)
                {
     
                    T obj = Activator.CreateInstance<T>();
                    PropertyInfo[] pi = obj.GetType().GetProperties();
                    Json.Append("{");
                    for (int j = 0; j < pi.Length; j++)
                    {
     
                        Type type = pi[j].GetValue(list[i], null).GetType();
                        Json.Append("\"" + pi[j].Name.ToString() + "\":" + String.Format(pi[j].GetValue(list[i], null).ToString(), type));
                        if (j < pi.Length - 1)
                        {
     
                            Json.Append(",");
                        }
                    }
                    Json.Append("}");
                    if (i < list.Count - 1)
                    {
     
                        Json.Append(",");
                    }
                }
            }
            Json.Append("]}");
            return Json.ToString();
        }
        #endregion

        #region 对象集合转换为json
        /// 
        /// 对象集合转换为json
        /// 
        /// 对象集合
        /// json字符串
        public static string ToJson(IEnumerable array)
        {
     
            string jsonString = "[";
            foreach (IEnumerable item in array)
            {
     
                jsonString += ToJson(item) + ",";
            }
            jsonString = jsonString.Substring(0, jsonString.Length - 1);
            return jsonString + "]";
        }
        #endregion

        #region 普通集合转换Json
        ///  
        /// 普通集合转换Json 
        ///  
        /// 集合对象 
        /// Json字符串 
        public static string ToArrayString(IEnumerable array)
        {
     
            string jsonString = "[";
            foreach (object item in array)
            {
     
                jsonString = ToJson(item.ToString()) + ",";
            }
            jsonString.Remove(jsonString.Length - 1, jsonString.Length);
            return jsonString + "]";
        }
        #endregion


你可能感兴趣的:(游戏开发,艾孜尔江,C#,JSON,序列化)