c# - 使用 JSON.net 序列化不带引号的 yyyyMMdd 格式日期
问题描述
我制作了一个 dotnet 核心控制台应用程序,它使用 Newtonsoft.Json v12.0.3 序列化自定义对象。
我希望能够在不带引号的情况下序列化我的自定义对象 DateTime 属性。
我试图避免制作自定义 JsonConverter 或将数据类型更改为 int 或其他数字类型。我从这里使用 DateFormatConverter:https ://stackoverflow.com/a/44893493/1440321
[JsonConverter(typeof(DateFormatConverter), "yyyyMMdd")]
[JsonProperty("fileGenerationDate", Order = 3)]
public DateTime FileGenerationDate { get; set; }
期望的输出:
{
...
"fileGenerationDate": 20180919
}
电流输出:
{
...
"fileGenerationDate": "20180919"
}
解决方案
您必须创建自己的JsonConverter
,因为开箱即用的写入值string
和字符串总是用引号序列化......
您可以复制IsoDateTimeConverter的代码并将其更改为将值写入为int
.
推荐阅读
- android - 将 google-services 升级到 4.3.2 后出现 Android gradle 错误
- mysql - 范围和条件的运行总计
- java - Java排序二维数组
- node.js - 反应本机问题:
- android - 从 exoplayer 或任何其他 Android 播放器中的单个 MP4 文件直接链接流式传输
- csv - 如何读取分隔符不同于逗号的 CSV 文件?
- python - 我想使用输出结果_Python
- python-3.x - 替换列值以生成新数据框
- python - 根据条件值创建列表
- reactjs - React Mobx - 从其他商店更改商店而不渲染观察者组件