相关疑难解决方法(0)

无法保留对数组或只读列表或从非默认构造函数创建的列表的引用

我遇到了以下问题,该问题与我遇到的问题大体相同:

JSON.NET无法处理简单的数组反序列化?

但是,我的情况略有不同。如果我修改该Test问题的类以使其具有相同类型的array属性,则会收到相同的反序列化错误。

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[]>();
Run Code Online (Sandbox Code Playgroud)

我敢打赌,我缺少该属性的重要属性Tests

.net serialization json.net

4
推荐指数
1
解决办法
1573
查看次数

标签 统计

.net ×1

json.net ×1

serialization ×1