mirror of https://github.com/quasar/Quasar.git
34 lines
977 B
C#
34 lines
977 B
C#
using System.Runtime.Serialization.Json;
|
|
using System.IO;
|
|
using System.Text;
|
|
|
|
namespace xClient.Core.Recovery.Helper
|
|
{
|
|
public static class JsonUtil
|
|
{
|
|
/// <summary>
|
|
/// Serializes an object to the respectable JSON string.
|
|
/// </summary>
|
|
public static string Serialize<T>(T o)
|
|
{
|
|
var s = new DataContractJsonSerializer(typeof(T));
|
|
using (var ms = new MemoryStream())
|
|
{
|
|
s.WriteObject(ms, o);
|
|
return Encoding.UTF8.GetString(ms.ToArray());
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// Deserializes a JSON string to the specified object.
|
|
/// </summary>
|
|
public static T Deserialize<T>(string json)
|
|
{
|
|
var s = new DataContractJsonSerializer(typeof(T));
|
|
using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
|
|
{
|
|
return (T)s.ReadObject(ms);
|
|
}
|
|
}
|
|
}
|
|
}
|