CodeGo.net>使用JsonWriter时,WriteStartConstructor的目的是什么?
作者:互联网
标题说明了一切.我看到它(及其相应的一端)吐出以下内容…
new Foo(
)
…但是我不了解反序列化时新功能的实际作用.文档只是说它写了一个Json构造函数,而不是Json构造函数!
解决方法:
此方法是作为增强功能的一部分引入的,该增强功能允许Json.NET在使用如下所示的JavaScript构造函数表示时解析日期文字:new Date(1234656000000)
.有关详细信息,请参见Serializing Dates in JSON.尽管根据JSON standard,此语法并非严格有效,但显然存在Newtonsoft投入了足够的需求来支持它.
因此,有必要在JsonWriter
和JsonReader
中添加低级方法来以这种格式写入和读取文字. (严格来说,我想写的内容可以写到WriteRaw
上,这很容易被破解,无论如何都没有ReadRaw方法)WriteStartConstructor
是这些低级实用程序方法之一.
还有一个高级Linq-to-JSON类JConstructor
表示此语法.您可以根据需要使用它来支持其他特定的JavaScript构造函数,例如参见How to convert new Date(year, month, day) overload with JSON.Net.
标签:constructor,json-net,json,c 来源: https://codeday.me/bug/20191119/2039943.html