【发布时间】:2012-03-05 22:23:20
【问题描述】:
我得到一个 json 数据流,其中包含一个名为“type”的字段。该类型字段描述了需要在运行时创建的对象的类型。看起来我无法使用 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。
【问题讨论】: