-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 メソッドを呼び出します。

string と ToString() にキャストしようとしましたが、うまくいきませんでした。

ここで私が見逃しているものを見た人はいますか?

4

2 に答える 2

1

これを試してください。jsonファイルの内容を文字列に読み取り、Json.Netを使用して逆シリアル化してください

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

これは、JSON.net を使用して json 文字列を厳密に型指定されたクラスに変換する最も簡単な方法です。

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