有没有办法从获取原始/原始JSON值JToken
?
问题:
var data = JObject.Parse(@"{
""SimpleDate"":""2012-05-18T00:00:00Z"",
""PatternDate"":""2012-11-07T00:00:00Z""
}");
var value = data["SimpleDate"].Value<string>();
现在value
是,05/18/2012 00:00:00
但是我需要原始字符串2012-05-18T00:00:00Z
。
有没有办法获得这个原始价值?另外,我无法更改JObject
创建方式(例如更改设置),因为它作为参数传递给我的课程…
(参考:原始的NJsonSchema问题)
您无法获取原始字符串,无法识别日期字符串并将其转换为自身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
。
问题内容: 如何从Spring Rest模板获取原始json字符串?我试过下面的代码,但它会返回不带引号的json,这会导致其他问题,我该如何按原样获取json。 问题答案: 您甚至不需要s!只需使用一个喜欢: 它将打印如下内容:
问题内容: 在我的应用程序中,我使用来显示一些日志信息。因为我想突出显示文本中的某些特定行(例如错误消息),所以将设置为“ ”。这样,我可以设置文本格式。 现在,我创建一个JButton,将其内容复制到剪贴板中。这部分很简单,但是我的问题是,当我调用时,我得到了HTML代码,例如: 而不是只获取原始内容: 有没有办法只获取纯文本格式的内容?还是我需要自己将HTML转换为原始文本? 问题答案: 基于
问题内容: 我在相当基本的android开发水平上。 我想从诸如“ http://www.google.com”的页面获取文本。(我将使用的页面只有文本,因此没有图片或类似的东西)所以,要明确:我想将页面上的文本写入应用程序中的字符串等。 我尝试了这段代码,但是我什至不知道它是否能满足我的要求。 无论如何我都无法收到任何文字。我应该怎么做? 问题答案: 从您提供的示例代码中,您甚至没有读取请求的响
问题内容: 根据php手册或php:// input都不能与POST请求一起使用。 “ php:// input允许您读取原始的POST数据。它是内存占用较少的替代方法,并且不需要任何特殊的php.ini指令。php:// input不适用于。” 如何获取表格的原始数据? 问题答案: 直接回答:你不能那样做。只要PHP看到multipart / form-data Content- Type,它就
我的Rest控制器 我的异常处理无效的原始 json 帖子。我尝试使用请求。 IllegalStateException:已经为此请求调用了getInputStream() 我想在这个异常上保留日志输入原始json数据。 有人能帮我吗?谢谢。 更新 作为@Sean Carrol的建议。我尝试按照建议使用HttpServletRequest estWrapper,但它仍然不起作用。 我在InputS
我有一个Spring Cloud Stream(SCS)Kafka制作应用程序,配置了Sleuth进行跟踪。我正在尝试发布一个spring消息“GenericMessage”(即MessageHeaders负载),它需要由以下两个用户使用: SCS消费者(应继续自动添加到MessageHeaders的跟踪) headerMode=embeddedHeaders(默认设置):消息头中的跟踪条目在消息