.net 复杂对像序列化

复杂对像的序列化一定要使用NewtonJson,别选JavaScriptSerializer  ,否则就准备浪费一天时间后倒回来再用NewtonJson吧。

当对像存在循环引用的时候,用NewtonJson会报“newtonsoft.json Self referencing loop detected for property ”的错误,这需要用到ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize

str = JsonConvert.SerializeObject(obj ,
                        new JsonSerializerSettings()
                        {
                            ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize
                        });

  网上有很多用 Newtonsoft.Json.ReferenceLoopHandling.Ignore 的,这样是不报错了,但是引用项也没有了,不能还原回序列化前的状态。

猜你喜欢

转载自www.cnblogs.com/adamvv/p/9184941.html