gpt4 book ai didi

c# - 使用 JsonWriter 时,WriteStartConstructor 的用途是什么?

转载 作者:行者123 更新时间:2023-11-30 16:06:47 30 4
gpt4 key购买 nike

标题说明了一切。我看到它(及其相应的末端)吐出以下内容......

new Foo(
)

...但我不明白 new 在反序列化时实际上做了什么。文档只是说它写了一个 Json 构造函数,但不是 Json 构造函数是什么!

最佳答案

此方法是作为增强功能的一部分引入的,以允许 Json.NET 在用 JavaScript 构造函数表示时解析日期文字,如下所示:new Date(1234656000000) .有关详细信息,请参阅 Serializing Dates in JSON .尽管此语法根据 JSON standard 并非严格有效,显然有足够的需求来支持 Newtonsoft 将其放入。

因此有必要向 JsonWriter 添加低级方法和 JsonReader以这种格式写入和读取文字。 (严格来说,我认为写作可以附加到 WriteRaw 上,这有点像 hackey,而且无论如何都没有方法 ReadRaw) WriteStartConstructor是这些低级实用方法之一。

还有一个高级 Linq-to-JSON 类 JConstructor来表示这种语法。您可以根据需要使用它来支持其他特定的 JavaScript 构造函数,例如参见 How to convert new Date(year, month, day) overload with JSON.Net .

关于c# - 使用 JsonWriter 时,WriteStartConstructor 的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31778612/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com