添加项目文件。

This commit is contained in:
2023-03-13 15:00:34 +08:00
parent 42bf06ca3e
commit 1d73df3235
1205 changed files with 185078 additions and 0 deletions

View File

@@ -0,0 +1,136 @@
using JNPF.JsonSerialization;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace JNPF.Common.Security;
/// <summary>
/// JsonHelper
/// 版 本V3.4.2
/// 版 权拓通智联科技有限公司http://www.tuotong-tech.com
/// 作 者JNPF开发平台组.
/// </summary>
public static class JsonHelper
{
/// <summary>
/// 序列化提供器.
/// </summary>
public static IJsonSerializerProvider _jsonSerializer = App.GetService(typeof(NewtonsoftJsonSerializerProvider), App.RootServices) as IJsonSerializerProvider;
/// <summary>
/// Object 转 JSON字符串.
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static string ToJsonString(this object obj)
{
return obj == null ? string.Empty : _jsonSerializer.Serialize(obj);
}
/// <summary>
/// Object 转 JSON字符串.
/// </summary>
/// <param name="obj"></param>
/// <param name="jsonSerializerOptions">序列化规则.</param>
/// <returns></returns>
public static string ToJsonString(this object obj, object jsonSerializerOptions = default)
{
return obj == null ? string.Empty : _jsonSerializer.Serialize(obj, jsonSerializerOptions);
}
/// <summary>
/// JSON 字符串转 Object.
/// </summary>
/// <typeparam name="T">动态类型.</typeparam>
/// <param name="json">对象.</param>
/// <returns></returns>
public static T ToObject<T>(this string json)
{
return _ = _jsonSerializer.Deserialize<T>(json) ?? default(T);
}
/// <summary>
/// JSON 字符串转 Object.
/// </summary>
/// <typeparam name="T">动态类型.</typeparam>
/// <param name="json">对象.</param>
/// <param name="jsonSerializerOptions">序列化规则.</param>
/// <returns></returns>
public static T ToObject<T>(this string json, object jsonSerializerOptions = default)
{
return _ = _jsonSerializer.Deserialize<T>(json, jsonSerializerOptions) ?? default(T);
}
/// <summary>
/// Object 转 对象.
/// </summary>
/// <typeparam name="T">动态类型.</typeparam>
/// <param name="json"></param>
/// <returns></returns>
public static T ToObject<T>(this object json)
{
return _ = ToJsonString(json).ToObject<T>() ?? default(T);
}
/// <summary>
/// Object 转 对象.
/// </summary>
/// <typeparam name="T">动态类型.</typeparam>
/// <param name="json"></param>
/// <param name="jsonSerializerOptions">序列化规则.</param>
/// <returns></returns>
public static T ToObject<T>(this object json, object jsonSerializerOptions = default)
{
return _ = ToJsonString(json, jsonSerializerOptions).ToObject<T>(jsonSerializerOptions) ?? default(T);
}
/// <summary>
/// 字符串转动态类型List.
/// </summary>
/// <typeparam name="T">动态类型.</typeparam>
/// <param name="json"></param>
/// <returns></returns>
public static List<T> ToList<T>(this string json)
{
return _ = _jsonSerializer.Deserialize<List<T>>(json) ?? null;
}
/// <summary>
/// 字符串转动态类型List.
/// </summary>
/// <typeparam name="T">动态类型.</typeparam>
/// <param name="json"></param>
/// <param name="jsonSerializerOptions">序列化规则.</param>
/// <returns></returns>
public static List<T> ToList<T>(this string json, object jsonSerializerOptions = default)
{
return _ = _jsonSerializer.Deserialize<List<T>>(json, jsonSerializerOptions) ?? null;
}
/// <summary>
/// 字符串 转 JObject.
/// </summary>
/// <param name="json">字符串.</param>
/// <returns></returns>
public static JObject ToObject(this string json)
{
return json == null ? JObject.Parse("{}") : JObject.Parse(json.Replace("&nbsp;", string.Empty));
}
/// <summary>
/// 字符串 转 JSON.
/// </summary>
/// <param name="json">字符串.</param>
/// <returns></returns>
public static string PraseToJson(string json)
{
JsonSerializer s = new JsonSerializer();
JsonReader reader = new JsonTextReader(new StringReader(json));
object jsonObject = s.Deserialize(reader);
StringWriter sWriter = new StringWriter();
JsonWriter writer = new JsonTextWriter(sWriter);
writer.Formatting = Formatting.Indented;
s.Serialize(writer, jsonObject);
return sWriter.ToString();
}
}