Shared/Kernelx.Json2Newtonsoft/Newtonsoft/DefaultJsonSerializer.cs

(完整代码) 1KB

using System;
using Newtonsoft.Json;

namespace Kernelx.Contexts.Newtonsoft
{

    /// <summary>
    /// 
    /// </summary>
    public class DefaultJsonSerializer : IJsonSerializer
    {

        private readonly Formatting _formatting;
        private readonly JsonSerializerSettings _serializerSettings;

        /// <summary>
        /// 
        /// </summary>
        /// <param name="formatting"></param>
        /// <param name="settings"></param> 
        public DefaultJsonSerializer(Formatting formatting, JsonSerializerSettings settings)
        {
            _formatting = formatting;
            _serializerSettings = settings;
        }


        /// <summary>
        /// 
        /// </summary>
        public DefaultJsonSerializer() : this(Formatting.None, null) { }


        /// <inheritdoc/> 
        public T DeserializeObject<T>(string json) => JsonConvert.DeserializeObject<T>(json, _serializerSettings);

        /// <inheritdoc/> 
        public object DeserializeObject(string json, Type type) => JsonConvert.DeserializeObject(json, type, _serializerSettings);

        /// <inheritdoc/> 
        public string SerializeObject<T>(T obj) => JsonConvert.SerializeObject(obj, _formatting, _serializerSettings);

        /// <inheritdoc/> 
        public string SerializeObject(object obj, Type type) => JsonConvert.SerializeObject(obj, type, _formatting, _serializerSettings);

    }
}

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。