using Newtonsoft.Json;
|
using Newtonsoft.Json.Linq;
|
using System;
|
using System.IO;
|
using System.Text;
|
|
namespace HStation.RevitDev.RevitDataExport.Common
|
{
|
public static class JsonHelper
|
{
|
/// <summary>
|
/// 使用Newtonsoft.Json.JsonConvert把对象转为json字符串
|
/// </summary>
|
/// <typeparam name="T"></typeparam>
|
/// <param name="obj"></param>
|
/// <returns></returns>
|
public static string ToJson<T>(T obj)
|
{
|
Newtonsoft.Json.Converters.IsoDateTimeConverter dtConverter = new Newtonsoft.Json.Converters.IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
|
return JsonConvert.SerializeObject(obj, /*Formatting.Indented, */dtConverter);
|
}
|
|
/// <summary>
|
/// 使用Newtonsoft.Json.JsonConvert把对象转为json字符串
|
/// </summary>
|
/// <typeparam name="T"></typeparam>
|
/// <param name="obj"></param>
|
/// <returns></returns>
|
public static string ToJson<T>(T obj, Formatting format)
|
{
|
Newtonsoft.Json.Converters.IsoDateTimeConverter dtConverter = new Newtonsoft.Json.Converters.IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
|
return JsonConvert.SerializeObject(obj, format, dtConverter);
|
}
|
|
/// <summary>
|
/// 使用Newtonsoft.Json.JsonConvert把json字符串转为对象
|
/// </summary>
|
/// <typeparam name="T"></typeparam>
|
/// <param name="content"></param>
|
/// <returns></returns>
|
public static T ToObject<T>(string content)
|
{
|
return JsonConvert.DeserializeObject<T>(content);
|
}
|
|
/// <summary>
|
/// 使用Newtonsoft.Json.JsonConvert把json字符串转为dynamic对象
|
/// </summary>
|
/// <param name="content"></param>
|
/// <returns></returns>
|
public static dynamic ToDynamic(string content)
|
{
|
return JsonConvert.DeserializeObject<dynamic>(content);
|
}
|
|
/// <summary>
|
/// 使用Newtonsoft.Json.Linq把json字符串转为JObject对象
|
/// </summary>
|
/// <param name="content"></param>
|
/// <returns></returns>
|
public static JObject ToJObject(string content)
|
{
|
return JObject.Parse(content);
|
}
|
|
/// <summary>
|
/// 读取json文件
|
/// </summary>
|
/// <param name="path"></param>
|
/// <returns></returns>
|
public static string ReadJson(string path)
|
{
|
if (!System.IO.File.Exists(path)) { return string.Empty; }
|
string jsonText = string.Empty;
|
using (StreamReader sr = new StreamReader(path, Encoding.UTF8))
|
{
|
string line;
|
while ((line = sr.ReadLine()) != null)
|
{
|
jsonText = jsonText + line.ToString();
|
}
|
}
|
|
return jsonText;
|
}
|
|
public static string ReadJsonFile(string path)
|
{
|
if (!System.IO.File.Exists(path)) { return string.Empty; }
|
string jsonText = string.Empty;
|
using (StreamReader sr = new StreamReader(path, Encoding.UTF8))
|
{
|
jsonText = sr.ReadToEnd();
|
}
|
|
return jsonText;
|
}
|
|
/// <summary>
|
/// 写json文件
|
/// </summary>
|
/// <param name="path"></param>
|
/// <param name="content"></param>
|
public static void WriteJson(string path, string content)
|
{
|
System.IO.File.WriteAllText(path, content);
|
}
|
}
|
}
|