src/YL.Utils/Json/TextJson.cs

(完整代码) 1KB

using System;
using System.Text.Encodings.Web;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Text.Unicode;

namespace YL.Utils.Json
{
    public static class TextJson
    {
        private static readonly Lazy<JsonSerializerOptions> _instance =
        new Lazy<JsonSerializerOptions>(() =>
        {
            var options = new JsonSerializerOptions
            {
                // 不区分大小写
                PropertyNameCaseInsensitive = true,
                WriteIndented = true,
                ReferenceHandler = ReferenceHandler.IgnoreCycles,
                //// 首字母小写
                //PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
                //DictionaryKeyPolicy = JsonNamingPolicy.CamelCase,
                DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
                AllowTrailingCommas = true,
                // 取消unicode编码
                Encoder = JavaScriptEncoder.Create(UnicodeRanges.All)
            };
            return options;
        });

        public static JsonSerializerOptions Instance
        {
            get { return _instance.Value; }
        }

        public static string ToTextJson(this object obj)
        {
            return JsonSerializer.Serialize(obj, Instance);
        }

        public static T ToTextObj<T>(this string str)
        {
            return JsonSerializer.Deserialize<T>(str, Instance);
        }
    }
}

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

AI 解读 AI

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

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