Dot*_*nfo 29 .net c# json json.net
任何人都可以向我展示可以使用它的场景.我通过ReferenceLoopHandling.Ignore理解的是,如果你有一个对象A引用对象B和B引用C和C再次引用A(A-> B-> C-> A),那么在序列化时,它将最终无穷无尽在C和A之间循环,可以使用下面的方法避免.我对吗?
JsonConvert.SerializeObject(data,
Formatting.Indented,
new JsonSerializerSetting()
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
}
));
Run Code Online (Sandbox Code Playgroud)
我有自我引用循环问题,通过使用上面的问题得到解决,但我想知道它正在做什么,因为上面的行是应用程序的关键(关键肉)
Duc*_*tro 38
有关此文档,请访问:http://james.newtonking.com/projects/json/help/html/SerializationSettings.htm
在撰写本文时,行为的描述如下(强调我的):
ReferenceLoopHandling.Error:默认情况下,如果遇到引用循环,Json.NET将会出错(否则序列化程序将进入无限循环).
ReferenceLoopHandling.Ignore:Json.NET将忽略引用循环中的对象而不是序列化它们.第一次遇到对象时,它将像往常一样序列化,但如果对象作为自身的子对象遇到,则序列化程序将跳过序列化它.
ReferenceLoopHandling.Serialize:此选项强制Json.NET序列化引用循环中的对象.如果对象嵌套但不是无限期,这将非常有用.
| 归档时间: |
|
| 查看次数: |
23585 次 |
| 最近记录: |