Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# JToken DateTime返回错误的字符串格式_C#_Json_Rest_Attask_Workfront Api - Fatal编程技术网

C# JToken DateTime返回错误的字符串格式

C# JToken DateTime返回错误的字符串格式,c#,json,rest,attask,workfront-api,C#,Json,Rest,Attask,Workfront Api,以下是我想做的: JToken myToken = client.Search(ObjCode.BASELINE, new {fields="entryDate"}); console.WriteLine(myToken); 这将返回以下内容: {"data": [ {"entryDate": "2015-02-20T11:11:40:706-0500"} ] } 我的问题是,每当我尝试分配字段的值时,我都会收到一个错误,表明返回的dateTime的字符串格式不正确。我试过DateTime.

以下是我想做的:

JToken myToken = client.Search(ObjCode.BASELINE, new {fields="entryDate"});
console.WriteLine(myToken);
这将返回以下内容:

{"data": [ {"entryDate": "2015-02-20T11:11:40:706-0500"} ] }
我的问题是,每当我尝试分配字段的值时,我都会收到一个错误,表明返回的dateTime的字符串格式不正确。我试过
DateTime.Parse
DateTime.ParseExact
,但都不管用。据我所知,DateTime字符串应该类似于
“2015-02-20T11:11:40.706-0500”
,其中字符串上的时间后有一个句点而不是冒号。 我说REST返回错误的格式是对的,还是有办法将给定的格式转换为正确的日期时间格式


谢谢

EntryDate是一个审核字段,无法设置:基础Oracle数据库上有一个触发器,用于提供插入时的当前时间。我怀疑你收到的信息是试图报告这一点,但在翻译中丢失了一些东西。我建议您在一个可写字段(如计划日期)上加强语法。一旦成功,请再次尝试EntryDate

问候,,
Doug

我不确定您是如何使用JSON.NET生成JSON字符串的,因为JSON.NET本身无法将
“entryDate”
解析为
日期时间的。看见也许它实际上只是存储在您搜索的任何系统中的字符串文字?如果您将我前面提到的冒号替换为句点,则代码将在706之前运行,不会出现任何错误。您可以使用/metadata操作检查API中的预期数据类型,在本例中,
/BLIN/metadata/
,它确实说明entryDate是一个
“dateTime”
字段类型。如果没有正确地解析,很可能是序列化不正确。您可以使用类似于
DateTime.ParseExact(entryDate,“yyyyy-MM-dd\THH:MM:ss:ffffff”)