其他分享
首页 > 其他分享> > CodeGo.net>使用JsonWriter时,WriteStartConstructor的目的是什么?

CodeGo.net>使用JsonWriter时,WriteStartConstructor的目的是什么?

作者:互联网

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

new Foo(
)

…但是我不了解反序列化时新功能的实际作用.文档只是说它写了一个Json构造函数,而不是Json构造函数!

解决方法:

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

因此,有必要在JsonWriterJsonReader中添加低级方法来以这种格式写入和读取文字. (严格来说,我想写的内容可以写到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