-1
StreamReader qryTmpltStream = new StreamReader(tmpltPath + "templates.json");
JsonTextReader qryTmpltReader = new JsonTextReader(qryTmpltStream);
JsonSerializer qryTmpltSrlzr = new JsonSerializer();
object jsonObject = qryTmpltSrlzr.Deserialize(qryTmpltReader);

var tplts = JsonConvert.DeserializeObject<JSONRepClass>(jsonObject);

在上面的代码中,我试图读取一个 json 文件,然后将其反序列化为一个类。问题是,这个:JsonConvert.DeserializeObject 想要一个字符串,但是在它返回一个对象之前调用 Deserailize 方法。

我尝试转换为字符串和 ToString(),但不行。

有人看到我在这里缺少什么吗?

4

2 回答 2

1

这是使用 JSON.net 将 json 字符串转换为强类型类的最简单方法。

YourClass myclass = new YourClass();
JsonConvert.PopulateObject(yourstring,myclass);
于 2013-11-02T02:11:21.683 回答
1

试试这个,只需将 json 文件内容读入字符串并使用 Json.Net 反序列化即可

var jSonString = File.ReadAllText(tmpltPath + "templates.json");
var tplts = JsonConvert.DeserializeObject<JSONRepClass>(jsonString);
于 2013-11-02T02:07:22.897 回答