使用
JToken.CreateReader()阅读器并将其传递给
JsonSerializer.Populate。返回的阅读器是a
JTokenReader,它遍历预先存在的
JToken层次结构,而不是序列化为字符串并进行解析。
既然您标记了问题
c#,这
c#是完成任务的扩展方法:
public static class JsonExtensions{ public static void Populate<T>(this JToken value, T target) where T : class { using (var sr = value.CreateReader()) { JsonSerializer.CreateDefault().Populate(sr, target); // Uses the system default JsonSerializerSettings } }}和VB.NET中的等效项:
Public Module JsonExtensions <System.Runtime.CompilerServices.Extension> Public Sub Populate(Of T As Class)(value As JToken, target As T) Using sr = value.CreateReader() ' Uses the system default JsonSerializerSettings JsonSerializer.CreateDefault().Populate(sr, target) End Using End SubEnd Module



