using Serein.Library.Api; using System; using System.Collections.Generic; namespace Serein.Library.Utils { /// /// Json门户类,需要你提供实现 /// public static class JsonHelper { /// /// Json门户类,需要你提供实现 /// private static IJsonProvider provider; /// /// 使用第三方包进行解析 /// /// public static void UseJsonProvider(IJsonProvider jsonPortal) { JsonHelper.provider = jsonPortal; } public static T Deserialize(string jsonText) { return provider.Deserialize(jsonText); } public static object Deserialize(string jsonText, Type type) { return provider.Deserialize(jsonText, type); } public static IJsonToken Parse(string json) { return provider.Parse(json); } public static string Serialize(object obj) { return provider.Serialize(obj); } public static IJsonToken Object(Action> init) { var dict = new Dictionary(); init(dict); return provider.CreateObject(dict); } public static IJsonToken Array(IEnumerable values) { return provider.CreateArray(values); } public static IJsonToken FromObject(object obj) { if (obj is System.Collections.IEnumerable && !(obj is string)) return provider.CreateObject(obj as IDictionary); return provider.CreateArray(obj as IEnumerable); } } }