c# - 从 JSON 路径读取日期时间并将其写入另一个文件时维护源字符串格式
问题描述
如何让 Newtonsoft.Json 在不转换或以其他方式干预值的情况下读取路径的值?
这段代码
jsonObject.SelectToken("path.to.nested.value").ToString()
返回此字符串
03/07/2019 00:02:12
从 JSON 文档中的这个字符串
2019-07-03T00:02:12.1542739Z
它丢失了它的原始格式,在这种情况下是 ISO 8601。
我希望所有值都以字符串的形式逐字传递。我正在编写代码以将 JSON 重塑为其他格式,并且我不想在它们通过我的 .NET 代码时影响这些值。
我需要改变什么?我不喜欢 Newtonsoft.Json 顺便说一句。
解决方案
我明白了,我想。
jsonObject.SelectToken(path).ToString(Newtonsoft.Json.Formatting.None);
其他选择是什么都不提供或这个。
Newtonsoft.Json.Formatting.Indented
这是这个 API 中奇怪的逻辑,因为您认为这None
意味着不缩进,但它意味着不......我不知道。不挂断....
好的,None
否则Indented
返回
"2019-07-03T00:02:12.1542739Z"
(包括引号)但使用不带参数的重载返回
03/07/2019 00:02:12
这是一个奇怪的 API 设计¯\_(ツ)_/¯
这是一个屏幕截图,显示了非常简单的重现代码。
推荐阅读
- angular - Use a implementation of provider inside other implementation of same provider in Angular
- arrays - perl call variable name using another variable(array)
- python - Python 分析:KCacheGrind + Yappi 不断显示未知函数
- python - 如何在 2D numpy 数组中识别/查找 1D numpy 数组模式?
- permissions - Appmaker 默认角色
- reinforcement-learning - 关于深度 Q 学习的问题
- c# - 将 Azure 搜索与虚拟助手模板机器人集成
- c# - .NET Core - 静态类,可以从任何地方运行,但仍需要 DI 和 Entity Framework
- linux - 如何使用 c++ pistache rest-api 为嵌入式板(具有 i686 架构)构建独立二进制文件?
- ruby-on-rails - 当它不是按字母顺序逻辑时按大小名称排序项目?