C#实体对象集合转换为json格式

转换工具类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.Serialization.Json;
using System.IO;

namespace WindowsFormsApp3
{ 
    class JsonHelper
    { 
        public static string ListToJson<T>(List<T> list)
        { 
            StringBuilder jsonBuilder = new StringBuilder();
            jsonBuilder.Append("[");
            for (int i = 0, len = list.Count; i < len; i++)
            { 
                DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
                MemoryStream ms = new MemoryStream();
                ser.WriteObject(ms, list[i]);
                StreamReader reader = new StreamReader(ms);
                ms.Position = 0;
                string str = reader.ReadToEnd();
                reader.Close();
                jsonBuilder.Append(str);
                jsonBuilder.Append(",");
            }
            jsonBuilder.Remove(jsonBuilder.Length-1,1);
            jsonBuilder.Append("]");
            return jsonBuilder.ToString();
        }
    }
}

实体类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace WindowsFormsApp3
{ 
    [DataContract, Serializable]
    public class User
    { 
        [DataMember]
        public int id {  get; set; }
        [DataMember]
        public string username {  get; set; }
        [DataMember]
        public string pwd {  get; set; }
        [DataMember]
        public int auth {  get; set; }

        public User() {  }

        public User(int id, string username, string pwd, int auth)
        { 
            this.id = id;
            this.username = username;
            this.pwd = pwd;
            this.auth = auth;
        }
    }
}

窗体

		private void button2_Click(object sender, EventArgs e)
        { 
            //JsonHelper.ListToJson<User>();
            MessageBox.Show(JsonHelper.ListToJson<User>(UserList()));
        }
        
        private List<User> UserList() { 
            List<User> userList = new List<User>();
            User user = null;
            string sql = "select * from user_table";
            SqlCommand cmd = SqlUtils.ConnectSql(sql);
            SqlDataReader sdr = cmd.ExecuteReader();
            while (sdr.Read())
            { 
                user = new User(sdr.GetInt32(0), sdr.GetString(1), sdr.GetString(2), sdr.GetInt32(3));
                userList.Add(user);
            }
            return userList;
        }

《C#实体对象集合转换为json格式》

    原文作者:普通还不自信的程序员
    原文地址: https://blog.csdn.net/qq_41841482/article/details/114441343
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞