src/JsonSerializer.cs
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.IO;
namespace Rapidity.Json
{
public class JsonSerializer
{
public JsonOption Option { get; }
public JsonSerializer() : this(new JsonOption { SkipValidated = true })
{
}
public JsonSerializer(JsonOption option)
{
Option = option ?? throw new ArgumentNullException(nameof(option));
}
public object Deserialize(JsonReader reader, Type type)
{
var convert = Option.ConverterProvider.Build(type);
return convert.FromReader(reader, Option);
}
public T Deserialize<T>(JsonReader reader)
{
return (T)Deserialize(reader, typeof(T));
}
public object Deserialize(JsonToken token, Type type)
{
var convert = Option.ConverterProvider.Build(type);
return convert.FromToken(token, Option);
}
public T Deserialize<T>(JsonToken token)
{
return (T)Deserialize(token, typeof(T));
}
public string Serialize(object obj)
{
using (var sw = new StringWriter())
using (var writer = new JsonWriter(sw, Option))
{
Serialize(writer, obj);
sw.Flush();
return sw.ToString();
}
}
public void Serialize(JsonWriter writer, object obj)
{
if (obj == null)
{
writer.WriteNull();
return;
}
后面还有 6 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
