【发布时间】:2015-09-04 19:05:44
【问题描述】:
我尝试使用以下代码,但输入参数为字符串时出现错误。
protected override object DeserializeCore(Type type, byte[] value)
{
using (var ms = new MemoryStream(value))
using (var sr = new StreamReader(ms, Encoding.UTF8))
{
var result = Newtonsoft.Json.JsonConvert.DeserializeObject(sr, type);
return result;
}
}
我将它传递为sr.ToString() 得到错误:
解析值时遇到意外字符:S. Path '', line 0, position 0.
【问题讨论】:
-
你应该从 streamreader 获取字符串并检查其中的内容
-
只得到编译时错误
-
这段代码不是该异常的原因(这是运行时,而不是编译时),输入是。显示您的输入。这是无效的 JSON。
-
with ` var result = Newtonsoft.Json.JsonConvert.DeserializeObject(sr, type);` 我无法执行和编译,如何检查输入参数:(
-
使用
JsonConvert.DeserializeObject(sr.ReadToEnd(), type)