示例如下:http://james.newtonking.com/json/help/index.html?topic=html/CustomJsonConverter.htm
我想知道JToken.FromObject
在序列化时如何影响性能。
希望有人能给我一个答案,省得我事后再分析的时间。
我有一个自定义类,我想在序列化中改变值,示例似乎是一个很好的例子。只是想知道它是否使用额外的反射来做到这一点,或者在序列化对象时也在内部使用JToken.FromObject
。
OSS的伟大之处在于你可以自己看到一切:
来自JToken类
internal static JToken FromObjectInternal(object o, JsonSerializer jsonSerializer)
{
ValidationUtils.ArgumentNotNull(o, "o");
ValidationUtils.ArgumentNotNull(jsonSerializer, "jsonSerializer");
JToken token;
using (JTokenWriter jsonWriter = new JTokenWriter())
{
jsonSerializer.Serialize(jsonWriter, o);
token = jsonWriter.Token;
}
return token;
}
没有任何反射开销,只是传递给JsonSerializer
的JTokenWriter
的额外分配。