在我的VB.NET项目中,使用JSON.NET,我从Web API获得了一个JSON,该JSON的值表示yyyy-MM- ddTHH:mm:ss
格式中的日期,我想简单地获取该值。
JSON大致如下所示:
{
"REQ_DATE": "2016-01-17T12:27:57",
"REQ_TYPE": "Vacation",
"HOURS": 500.0,
"LEAVE_TIME": "8:00 AM",
"LEAVE_DATE": "2016-01-23T00:00:00",
"DUE_TIME": "8:00 AM",
"DUE_DATE": "2016-01-24T00:00:00",
}
所以我应该序列化它,然后使用该值执行操作,对吗?但是,当我将该键值放入变量中时,日期格式会自动更改!
Dim temp As String = myJsonResult("REQ_DATE")
' temp = "1/17/2016 12:27:57 PM"
我需要具有从检索到的JSON中获取的Date。我看到解决此问题的两种方法:将其yyyy-MM- ddTHH:mm:ss
手动转换,或使用正则表达式直接获取键值对-两种方法我都没有成功。
我尝试将其转换为DateTime:
Dim tempDateTime As DateTime = DateTime.ParseExact(myJsonResult("REQ_DATE").ToString,"yyyy-MM-dd hh:mm:ss", CultureInfo.InvariantCulture)
' Error: String is not Recognized as valid DateTime
Dim myDesiredResult As String = tempDateTime.ToString("yyyy-MM-ddTHH:mm:ss")
我尝试使用Regex:
Dim regex As Regex = New Regex("""REQ_DATE"": ""([\d\w]*)""")
Dim match As Match = regex.Match(myJsonAsString)
If match.Success Then
Dim myDesiredResult As String = match.Groups(1).Value
End If
' match is empty...
任何帮助都将不胜感激。
我假设这myJsonResult
是JObject
您已将JSON加载到其中的内容。
DateParseHandling.None`](http://www.newtonsoft.com/json/help/html/P_Newtonsoft_Json_JsonSerializerSettings_DateParseHandling.htm)以下命令解析JSON
:
Dim jsonString = "{'REQ_DATE':'2016-01-17T12:27:57','REQ_TYPE':'Vacation','HOURS':500.0,'LEAVE_TIME':'8:00 AM','LEAVE_DATE':'2016-01-23T00:00:00','DUE_TIME':'8:00 AM','DUE_DATE':'2016-01-24T00:00:00'}"
Dim settings = New JsonSerializerSettings() With { _
.DateParseHandling = DateParseHandling.None _
}
Dim myJsonResult = JsonConvert.DeserializeObject(Of JObject)(jsonString, settings)
Dim dateValue = myJsonResult("REQ_DATE")
Dim dateString = CType(dateValue, String) 'Value is 2016-01-17T12:27:57
有没有超载JObject.Parse()
,需要一个JsonSerializerSettings
,所以你需要使用DeserializeObject
。此设置最终传播到JsonReader.DateParseHandling
。
另外,如果您可以使用Json.NET识别日期,但始终希望它们以ISO 8601格式打印,则可以将令牌重新序列化为JSON,而不仅仅是获取字符串值:
Dim dateValue = myJsonResult("REQ_DATE")
Dim dateString = JsonConvert.SerializeObject(dateValue).Trim(""""c) 'Value is 2016-01-17T12:27:57
在使用date格式自动设置为IE后,我试图解析某个包含日期条目为纪元数值的json文档。我需要不同的格式(也需要一毫秒) 所以问题是,如何解析IE。转换为带有Bson文档的某种自定义格式字符串。解析方法? 编辑:只是一个更新:问题在document.parse方法中,因为我不知道如何在解析json文档时使用tell.parse函数来使用自定义的日期格式。我总是得到某种默认的日期格式。如何发送给.p
我正在尝试使用Android studio和Java构建一个简单的天气预报应用程序。我在这里遵循了一些指示(https://www.androdocs.com/java/creating-an-android-weather-app-using-java.html)要启动并运行,这是可行的。然而,我只能得到当前的天气。Openweather预测API调用似乎持续了5天。没关系,但如何获得用户指定的
问题内容: 给定此基准日期: 我想在列表中找到一个包含最接近日期的元组,但是它不能是更早的日期。 所以这里的输出应该是(它不能是第三个元组,因为那里的日期早于基准日期) 我的问题是,是否存在用于此类日期比较的任何模块?我试图先将所有数据更改为格式,然后进行比较,但是我的代码变得很丑陋,而且切片很多。 @编辑: 要测试的大清单: 要测试的大清单: 问题答案: 将日期转换为datetime对象,所以现
} 我想从这个json对象中获取值。 我在下面试过了,但没有成功。
audit_modifier是VARCHAR2(30个字符),并且audit_modifier值以以下格式存储[2018-01-18T17:19:47.285z]。 从TO_DATE('2018-01-16','yyyy-mm-dd')和TO_DATE('2018-01-16','yyyy-mm-dd')之间的trunc(audit_modifier)的表中选择*; ORA-00932:不一致的数
确定当前给定区域设置的短日期格式的最佳方法是什么? 例如,如果我的脚本的语言环境设置为荷兰语,我希望以某种方式获得该特定语言环境中使用的短日期格式,它将是: 年月日 如果设置为American,我希望获得美国地区的日期格式: 年月日 等等