基本信息
源码名称:C# 读写json文件数据到UI(通过泛型结构来实现)
源码大小:0.33M
文件格式:.rar
开发语言:C#
更新时间:2020-02-25
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
通过System.Web.Script.Serialization库文件操作json的序列化和反序列化
通过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("保存成功");
}
}
}