Json数据写入文件

测试数据

private static Random rd = new Random();
private static List<ParkInfoModel> datas
    {
        get
        {
            return new List<ParkInfoModel>()
            {
                new ParkInfoModel()
                {
                    id = 791,
                    parkingLotCode = "123",
                    refreshDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                    idleParkingSpaceNum = rd.Next(0,1200),
                    totalParkingSpaceNum = 1200,
                },
                new ParkInfoModel()
                {
                    id = 792,
                    parkingLotCode = "124",
                    refreshDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                    idleParkingSpaceNum = rd.Next(0,1500),
                    totalParkingSpaceNum = 1500
                },
                new ParkInfoModel()
                {
                    id = 793,
                    parkingLotCode = "125",
                    refreshDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                    idleParkingSpaceNum = rd.Next(0,120),
                    totalParkingSpaceNum = 120
                },
                new ParkInfoModel()
                {
                    id = 794,
                    parkingLotCode = "126",
                    refreshDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                    idleParkingSpaceNum = rd.Next(0,180),
                    totalParkingSpaceNum = 180
                }
            };
        }
    }

写入文件

#region 写入txt文件中
string txt = Path.Combine(new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory).FullName, "Content\\Json\\parkinfo.txt");
if (System.IO.File.Exists(txt) == false)
{
    System.IO.File.Create(txt);
}
FileStream fs = new FileStream(txt, FileMode.Open, FileAccess.Write);
StreamWriter sw1 = new StreamWriter(fs);
string data = JsonConvert.SerializeObject(datas);
sw1.Write(data);
sw1.Close();
fs.Close();
#endregion
#region 写入到json文件中
using (StreamWriter sw = new StreamWriter(parkInfoPath))
{
    JsonSerializer serializer = new JsonSerializer();
    serializer.Converters.Add(new JavaScriptDateTimeConverter());
    serializer.NullValueHandling = NullValueHandling.Ignore;
    //构建Json.net的写入流
    Newtonsoft.Json.JsonWriter writer = new JsonTextWriter(sw);
    //把模型数据序列化并写入Json.net的JsonWriter流中
    serializer.Serialize(writer, datas);
}
#endregion

从文件中读取数据

//方式1:读取json文件,解析json字符串,传给前端
string str = System.IO.File.ReadAllText(parkInfoPath, Encoding.UTF8);
//方式2:读取json文件
using (StreamReader file = new StreamReader(parkInfoPath, Encoding.UTF8)) //System.IO.File.OpenText(parkInfoPath)
{
    str = file.ReadToEnd();
}
//第一种转换 使用JsonMapper,需要引入 LitJson
List<ParkInfoModel> list1 = JsonMapper.ToObject<List<ParkInfoModel>>(str);
//第二种转换 使用JsonConvert
List<ParkInfoModel> list = JsonConvert.DeserializeObject<List<ParkInfoModel>>(str);
return list;
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容