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;
}
///
/// 反序列化Json文本为指定类型的对象
///
///
///
///
public static T Deserialize(string jsonText)
{
return provider.Deserialize(jsonText);
}
///
/// 反序列化Json文本为指定类型的对象
///
///
///
///
public static object Deserialize(string jsonText, Type type)
{
return provider.Deserialize(jsonText, type);
}
///
/// 解析Json文本为IJsonToken对象
///
///
///
public static IJsonToken Parse(string json)
{
return provider.Parse(json);
}
///
/// 将对象序列化为Json文本
///
///
///
public static string Serialize(object obj)
{
return provider.Serialize(obj);
}
///
/// 创建一个Json对象,使用字典初始化
///
///
///
public static IJsonToken Object(Action> init)
{
var dict = new Dictionary();
init(dict);
return provider.CreateObject(dict);
}
///
/// 创建一个Json对象,使用字典初始化
///
///
///
public static IJsonToken Array(IEnumerable