c# – 如何使用JsonTextReader两次

前端之家收集整理的这篇文章主要介绍了c# – 如何使用JsonTextReader两次前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我给了一个包含一个名为“type”的字段的json数据流.此类型字段描述了在运行时需要创建的对象类型.看起来我无法使用JsonTextReader两次,我找不到将文本阅读器重新设置为开头.
using (var streamReader = new StreamReader(stream,Encoding))
using (var jsonTextReader = new JsonTextReader(streamReader))
{
    JToken token = JObject.Load(jsonTextReader);
    var type = (string) token.SelectToken("type");
    var modelType = Type.GetType("Project." + type + ",Project");

    // Fails here
    var obj = serializer.Deserialize(jsonTextReader,modelType);
}

我收到这个错误消息.
反序列化对象时出现意外的令牌:EndObject.

解决方法

您可以从JToken创建一个JsonReader.
JsonReader reader = token.CreateReader();

猜你在找的C#相关文章