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(),但没有去。
任何人都能看到我在这里缺少的东西吗?
答案 0 :(得分:1)
试试这个,只需将json文件内容读入字符串并使用Json.Net反序列化
var jSonString = File.ReadAllText(tmpltPath + "templates.json");
var tplts = JsonConvert.DeserializeObject<JSONRepClass>(jsonString);
答案 1 :(得分:1)
这是使用JSON.net将json字符串转换为强类型类的最简单方法。
YourClass myclass = new YourClass();
JsonConvert.PopulateObject(yourstring,myclass);