我遇到下面的問題,其中大部分是相同的,我遇到的問題來創建陣列或只讀列表,或列表:不能保留參考從非默認的構造函數
JSON.NET cannot handle simple array deserialization?
然而,我情況稍有不同。如果我從該問題修改Test
類以具有相同類型的數組屬性,我會得到相同的反序列化錯誤。
class Test
{
public Test[] Tests;
}
var settings = new JsonSerializerSettings
{
PreserveReferencesHandling = PreserveReferencesHandling.All
};
var o = new Test { Tests = new[] { new Test(), new Test() } };
//var o = new Test(); //this works if I leave the Tests array property null
var arr = new[] { o, o };
var ser = JsonConvert.SerializeObject(arr, settings);
arr = ((JArray)JsonConvert.DeserializeObject(ser, settings)).ToObject<Test[]>();
我敢打賭,我缺少的Tests
財產的重要因素。
我想我想通了。必須創建一個定製的Json轉換器。只要我確認修復,我會盡快回復結果 – oscilatingcretin