json使用
JSON采用完全独立于语言的文本格式,使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。JSON格式取代了xml给网络传输带来了很大的便利,但是却没有了xml的一目了然,尤其是json数据很长的时候,我们会陷入繁琐复杂的数据节点查找中
json读写代码
//文件的基本功能 增 删 改 查 创建文件 删除文件
public class JsonOperation
{
//对象转string string 转对象
public void CreateFIle(string path)
{
if (File.Exists(path))
{
Console.WriteLine("存在这个文件,不需要生成");
return;
}
using (FileStream fs = File.Create(path))
{
fs.Flush();
fs.Close();
}
}
/// <summary>
/// 通过文件路径把对象写入json文件中
/// </summary>
/// <param name="path"></param>
/// <param name="obj"></param>
public void WriteObjectToJson(string path,object obj)
{
if (!File.Exists(path))
{
Console.WriteLine("不存在这个文件,需要生成");
return;
}
try
{
using (FileStream fs = File.Open(path, FileMode.Open))
{
string jsonStr = JsonConvert.SerializeObject(obj, Formatting.Indented);
byte[] bytes = Encoding.UTF8.GetBytes(jsonStr);
fs.Write(bytes, 0, bytes.Length);
fs.Flush();
fs.Close();
}
}
catch (Exception)
{
throw;
}
}
/// <summary>
/// 通过路径读取文件中的数据并转化成对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="path"></param>
/// <returns></returns>
public T ReadObjectToJson<T>(string path)
{
T obj = default(T);
if (!File.Exists(path))
{
Console.WriteLine("不存在这个文件,需要生成");
return obj;
}
try
{
using (FileStream fs = File.Open(path, FileMode.Open))
{
byte[] bytes = new byte[fs.Length];
fs.Read(bytes,0, bytes.Length);
string readStr = Encoding.UTF8.GetString(bytes);
obj = JsonConvert.DeserializeObject<T>(readStr);
fs.Flush();
fs.Close();
}
}
catch (Exception)
{
throw;
}
return obj;
}
}