测试数据
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;