栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JToken:获取原始/原始JSON值

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JToken:获取原始/原始JSON值

您无法获取原始字符串,无法识别日期字符串并将其转换为自身

DateTime
内部的结构
JsonReader
。如果您这样做,则可以看到以下内容:

Console.WriteLine(((JValue)data["SimpleDate"]).Value.GetType()); // Prints System.DateTime

但是,您可以通过执行以下操作以ISO 8601格式提取日期:

var value = JsonConvert.SerializeObject(data["SimpleDate"]);// value is "2012-05-18T00:00:00Z"

这将始终输出

JValue
JSON合适的字符串格式。由于您的原始日期采用这种格式,因此可以满足您的需求。

(老实说,

JValue.ToString()
鉴于
JObject.ToString()
输出确实包含ISO格式的日期,我很惊讶以非ISO格式输出日期。)

如果您能够在阅读时更改设置,则

JObject
可以使用
JsonSerializerSettings.DateParseHandling =DateParseHandling.None

        var settings = new JsonSerializerSettings { DateParseHandling = DateParseHandling.None };        var data = JsonConvert.DeserializeObject<JObject>(@"{ ""SimpleDate"":""2012-05-18T00:00:00Z"", ""PatternDate"":""2012-11-07T00:00:00Z""        }", settings);        var value = data["SimpleDate"].Value<string>();        Debug.WriteLine(value); // Outputs 2012-05-18T00:00:00Z

有没有超载

JObject.Parse()
,需要一个
JsonSerializerSettings
,所以你需要使用
DeserializeObject
。此设置最终传播到
JsonReader.DateParseHandling



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/399832.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号