我给了一个包含一个名为“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();