C# Json文件写入、读取 | Json文件序列化、反序列化

 Json写入(序列化)

复制代码
using System.IO;
using System.Text;

/// <summary>
/// 对象转换为json字符串
/// </summary>
/// <param name="obj">需要转换的对象</param>
/// <returns></returns>
public string ObjectToJson(object obj)
{
    var strJson = "";
    DataContractJsonSerializer json = new DataContractJsonSerializer(obj.GetType());
    //序列化
    using (MemoryStream stream = new())
    {
        json.WriteObject(stream, obj);
        strJson = Encoding.UTF8.GetString(stream.ToArray());
    }
    return strJson;
}

/// <summary>
/// 将序列化的json字符串内容写入json文件
/// </summary>
/// <param name="path">路径</param>
/// <param name="jsonConents">Json内容</param>
private void WriteJsonFile(string path, string jsonConents)
{
    File.WriteAllText(path, jsonConents, Encoding.UTF8);
}
复制代码

使用:

复制代码
public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Sex { get; set; }
}

//需要写入Json文件中的数据集合
List<Student> students = new List<Student>();
students.Add(new Student { Id = 1 ,Name="111",Sex=""});
students.Add(new Student { Id = 2 ,Name="222",Sex=""});
students.Add(new Student { Id = 3 ,Name="333",Sex=""});
students.Add(new Student { Id = 4 ,Name="444",Sex=""});
students.Add(new Student { Id = 5 ,Name="555",Sex=""});

//转为Json字符串
string text = ObjectToJson(students);//调用写入方法
WriteJsonFile(@"D:\Desktop\test.json", text);
复制代码

 

 Json文件读取(反序列化)

添加“ Newtonsoft.Json ”程序安装包

复制代码
/// <summary>
/// 反序列化
/// </summary>
/// <param name="filePath">文件路径</param>
/// <returns></returns>
private List<T> JsonToList<T>(string filePath)
{
    string jsonStr = File.ReadAllText(filePath);

    //反序列化
    var list = new List<T>(JsonConvert.DeserializeObject<List<T>>(jsonStr));

    return list;
}
复制代码

 使用:

var stu = JsonToList<Student>(@"D:\Desktop\test.json");

 

posted @   lxiamul  阅读(1343)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示