using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
namespace NCC.Common.Helper
{
///
/// JsonHelper
/// 版 本:V3.0.0
/// 版 权:Wesley(https://www.NCCsoft.com)
/// 作 者:NCC开发平台组
///
public static class JsonHelper
{
///
///
///
///
///
public static string ToJson(this object obj)
{
var timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
return JsonConvert.SerializeObject(obj, timeConverter);
}
///
///
///
///
///
///
public static string ToJson(this object obj, string datetimeformats)
{
var timeConverter = new IsoDateTimeConverter { DateTimeFormat = datetimeformats };
return JsonConvert.SerializeObject(obj, timeConverter);
}
///
///
///
///
///
///
public static T ToObject(this string json)
{
return json == null ? default(T) : JsonConvert.DeserializeObject(json);
}
///
///
///
///
///
///
public static T ToObject(this object json)
{
return json == null ? default(T) : JsonConvert.DeserializeObject(json.ToJson());
}
///
///
///
///
///
///
public static List ToList(this string json)
{
return json == null ? null : JsonConvert.DeserializeObject>(json);
}
///
///
///
///
///
public static DataTable ToTable(this string json)
{
return json == null ? null : JsonConvert.DeserializeObject(json);
}
///
///
///
///
///
public static JObject ToObject(this string json)
{
return json == null ? JObject.Parse("{}") : JObject.Parse(json.Replace(" ", ""));
}
///
///
///
///
///
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();
}
///
///
///
///
///
///
public static string GetValue(this Dictionary dic, string key)
{
return dic.ContainsKey(key) ? dic[key] : null;
}
}
}