sharee.bike-App/SharedBusinessLogic/Repository/Response/JsonConvertRethrow.cs
2024-04-09 12:53:23 +02:00

29 lines
834 B
C#

using Serilog;
using ShareeBike.Repository.Exception;
namespace ShareeBike.Repository.Response
{
public static class JsonConvertRethrow
{
/// <summary>
/// Deserializes COPRI responses in a consitent way for entire app.
/// </summary>
/// <typeparam name="T">Type of object to serialize to.</typeparam>
/// <param name="response">JSON to deserialize.</param>
/// <returns>Deserialized object.</returns>
public static T DeserializeObject<T>(string response)
{
try
{
return Newtonsoft.Json.JsonConvert.DeserializeObject<T>(response);
}
catch (System.Exception ex)
{
Log.Error("Deserializing response failed. {@Exception}",ex);
throw new DeserializationException(ex);
}
}
public static string SerializeObject(object value) => Newtonsoft.Json.JsonConvert.SerializeObject(value);
}
}