using System;
using System.Text.Json;
using Vinno.IUS.Common.Log;
namespace Vinno.FIS.Sonopost.Helpers
{
public static class JsonHelper
{
///
/// convert object to json
///
///
///
///
public static string ToJson(object obj, JsonSerializerOptions options = null)
{
try
{
return JsonSerializer.Serialize(obj, options);
}
catch (Exception ex)
{
Logger.WriteLineError($"JsonHelper To Json {obj} Error:{ex}");
return string.Empty;
}
}
///
/// convert json to object
///
///
///
///
///
public static T JsonToObj(string jsonStr, JsonSerializerOptions options = null)
{
if (string.IsNullOrWhiteSpace(jsonStr))
{
return default;
}
try
{
return JsonSerializer.Deserialize(jsonStr, options);
}
catch (Exception ex)
{
Logger.WriteLineError($"JsonHelper JsonToObj {jsonStr} Error:{ex}");
return default;
}
}
///
/// convert json to object
///
///
///
///
///
public static object JsonToObj(string jsonStr, Type type, JsonSerializerOptions options = null)
{
if (string.IsNullOrWhiteSpace(jsonStr))
{
return default;
}
try
{
return JsonSerializer.Deserialize(jsonStr, type, options);
}
catch (Exception ex)
{
Logger.WriteLineError($"JsonHelper JsonToObj {jsonStr} Error:{ex}");
return default;
}
}
}
}