mirror of
https://github.com/tribufu/ServerManagers
synced 2026-05-06 15:17:34 +00:00
source code checkin
This commit is contained in:
parent
5f8fb2c825
commit
7e57b72e35
675 changed files with 168433 additions and 0 deletions
138
src/ServerManager.Common/Utils/JsonUtils.cs
Normal file
138
src/ServerManager.Common/Utils/JsonUtils.cs
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
using Newtonsoft.Json;
|
||||
|
||||
namespace ServerManagerTool.Common.Utils
|
||||
{
|
||||
public static class JsonUtils
|
||||
{
|
||||
public static string Serialize<T>(T value, JsonSerializerSettings settings = null)
|
||||
{
|
||||
if (value == null)
|
||||
return string.Empty;
|
||||
|
||||
try
|
||||
{
|
||||
if (settings != null)
|
||||
return JsonConvert.SerializeObject(value, Formatting.Indented, settings);
|
||||
return JsonConvert.SerializeObject(value, Formatting.Indented);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool SerializeToFile<T>(T value, string filename, JsonSerializerSettings settings = null)
|
||||
{
|
||||
if (value == null)
|
||||
return false;
|
||||
|
||||
try
|
||||
{
|
||||
var jsonString = Serialize(value, settings);
|
||||
System.IO.File.WriteAllText(filename, jsonString);
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static T Deserialize<T>(string jsonString, JsonSerializerSettings settings = null)
|
||||
{
|
||||
if (string.IsNullOrEmpty(jsonString))
|
||||
return default(T);
|
||||
|
||||
try
|
||||
{
|
||||
if (settings != null)
|
||||
return JsonConvert.DeserializeObject<T>(jsonString, settings);
|
||||
return JsonConvert.DeserializeObject<T>(jsonString);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return default(T);
|
||||
}
|
||||
}
|
||||
|
||||
public static T DeserializeAnonymousType<T>(string jsonString, T anonTypeObject, JsonSerializerSettings settings = null)
|
||||
{
|
||||
if (string.IsNullOrEmpty(jsonString))
|
||||
return anonTypeObject;
|
||||
|
||||
try
|
||||
{
|
||||
if (settings != null)
|
||||
return JsonConvert.DeserializeAnonymousType<T>(jsonString, anonTypeObject, settings);
|
||||
return JsonConvert.DeserializeAnonymousType<T>(jsonString, anonTypeObject);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return anonTypeObject;
|
||||
}
|
||||
}
|
||||
|
||||
public static T DeserializeFromFile<T>(string file, JsonSerializerSettings settings = null)
|
||||
{
|
||||
if (string.IsNullOrEmpty(file) || !System.IO.File.Exists(file))
|
||||
return default(T);
|
||||
|
||||
try
|
||||
{
|
||||
return Deserialize<T>(System.IO.File.ReadAllText(file), settings);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return default(T);
|
||||
}
|
||||
}
|
||||
|
||||
public static T DeserializeFromFile<T>(string file, T anonTypeObject, JsonSerializerSettings settings = null)
|
||||
{
|
||||
if (string.IsNullOrEmpty(file) || !System.IO.File.Exists(file))
|
||||
return anonTypeObject;
|
||||
|
||||
try
|
||||
{
|
||||
return DeserializeAnonymousType<T>(System.IO.File.ReadAllText(file), anonTypeObject, settings);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return anonTypeObject;
|
||||
}
|
||||
}
|
||||
|
||||
public static void Populate(string jsonString, object target, JsonSerializerSettings settings = null)
|
||||
{
|
||||
if (string.IsNullOrEmpty(jsonString) || target == null)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
if (settings != null)
|
||||
JsonConvert.PopulateObject(jsonString, target, settings);
|
||||
else
|
||||
JsonConvert.PopulateObject(jsonString, target);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public static void PopulateFromFile(string file, object target, JsonSerializerSettings settings = null)
|
||||
{
|
||||
if (string.IsNullOrEmpty(file) || !System.IO.File.Exists(file) || target == null)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
Populate(System.IO.File.ReadAllText(file), target, settings);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue