基本信息
源码名称:C# 读写json文件数据到UI(通过泛型结构来实现)
源码大小:0.33M
文件格式:.rar
开发语言:C#
更新时间:2020-02-25
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
通过System.Web.Script.Serialization库文件操作json的序列化和反序列化

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Web.Script.Serialization;
using System.IO;

namespace prat3
{
    //
    /// <summary>
    /// 定义结构体
    /// </summary>
    public struct Productsinfo
    {
        public string product_ProdName;
        public string product_ProdDate;
        public string product_BatchNo;
        public string product_ExpDate;

    }
    public partial class Form1 : Form
    {
        Productsinfo productinfo;
        List<Productsinfo> list1 = new List<Productsinfo>();
       
        public Form1()
        {
            InitializeComponent();
        }
       

        private void Form1_Load(object sender, EventArgs e)
        {
           
        }
        /// <summary>
        /// //JSON序列化,将List<T>转换为String
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        private String JsonListToString(List<Productsinfo> list)
        {
            
            JavaScriptSerializer Serializerx = new JavaScriptSerializer();
            string changestr = Serializerx.Serialize(list);
            return changestr;
        }
        
        /// <summary>
        ///  将Json数据写入文件系统
        /// </summary>
        /// <param name="filepath"></param>
        /// <param name="writestr"></param>
        private void FileWrite(string filepath, string writestr)
        {
            //写入文件
            FileStream fs = new FileStream(filepath, FileMode.OpenOrCreate);
            StreamWriter sw = new StreamWriter(fs);
            sw.Write(writestr);
            sw.Close();
            fs.Close();
        }
        /// <summary>
        /// 从文件中读取Json数据
        /// </summary>
        /// <param name="filepath"></param>
        /// <returns></returns>
        private string FileRead(string filepath)
        {
            FileStream fs = new FileStream(filepath, FileMode.Open);
            StreamReader sr = new StreamReader(fs);
            string str = sr.ReadToEnd();
            sr.Close();
            fs.Close();
            return str;
        }
       
        /// <summary>
        /// JSON反序列化,将List<T>转换为String
        /// 
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        private List<Productsinfo> StringToJsonList(string str)
        {
            JavaScriptSerializer Serializer = new JavaScriptSerializer();
            List<Productsinfo> listinfo = Serializer.Deserialize<List<Productsinfo>>(str);
            return listinfo;
        }
       /// <summary>
       /// 文件加载
       /// </summary>
       /// <param name="sender"></param>
       /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            string filePath = Properties.Settings.Default.FilePath   "\\ProductsInfo.json";
           string newstr= FileRead(filePath);
            List<Productsinfo> listinfo = StringToJsonList(newstr);
            foreach (var item in listinfo)
            {
                textBox4.Text = item.product_ProdName;
                textBox1.Text = item.product_ProdDate;
                textBox2.Text = item.product_BatchNo;
                textBox3.Text = item.product_ExpDate;
            }
        }
        /// <summary>
        /// 文件保存
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            productinfo.product_ProdName = textBox4.Text;
            productinfo.product_ProdDate = textBox1.Text;
            productinfo.product_BatchNo = textBox2.Text;
            productinfo.product_ExpDate = textBox3.Text;
            list1.Add(productinfo);
            String str = JsonListToString(list1);
            string filePath = Properties.Settings.Default.FilePath   "\\ProductsInfo.json";
            FileWrite(filePath, str);
            MessageBox.Show("保存成功");
        }
    }



}