日期:2014-05-17  浏览次数:20997 次

关于List对象集合转化成Json字符串,动态赋值问题
本帖最后由 icedong 于 2013-12-23 10:20:05 编辑
论坛上很多都是List中只是简单的一个赋值问题,现在我遇见个问题是List中的对象中还有对象或者对象集合的属性,具体转换代码如下

        /// <summary>
        /// List对象ToJson
        /// </summary>
        /// <typeparam name="T">对象类型</typeparam>
        /// <param name="list">泛型对象集</param>
        /// <returns>返回字符串</returns>
        public static string ListToJosn<T>(List<T> list)
        {
            var json = new StringBuilder();

            if (list == null)
            {
                return json.ToString();
            }

            if (list.Count > 0)
            {
                // 反射取得类型的属性等信息
                foreach (var processObj in list)
                {
                    if (processObj.GetType().GetProperties().Length > 2)
                    {
                        // 进行条目的组装
                        json.Append("{");

                        foreach (var property in processObj.GetType().GetProperties())
                        {
                            if (property.GetValue(processObj, null).GetType().IsGenericType)
                            {
                                json.Append("\"" + property.Name + "\":{");

                             &nbs