我在解析json日期方面遇到了一些问题。
以下是我要解析的内容:
{"driver": "247","firstName": "XXXXX","lastName": "XXXXX","lastLatitudeUpdate": "5/21/2012 4:49:17 PM","suspended": "false","checkedin": "0"}
我无法解析“lastLatitudeUpdate”,因为它们之间有空格?在此先感谢您的帮助。
答案 0 :(得分:1)
简短回答:不,JSON引擎无法将字符串识别为Date对象。
答案很长: JSON中没有“日期”类型。但是,这个JSON很好,问题是lastLatitudeUpdate将被解析为一个字符串。要将此转换为日期,您应该尝试类似
的内容var my_object= JSON.parse({"driver": "247","firstName": "XXXXX","lastName": "XXXXX","lastLatitudeUpdate": "5/21/2012 4:49:17 PM","suspended": "false","checkedin": "0"});
my_object.lastLatitudeUpdate= Date.parse(my_object.lastLatitudeUpdate)
此函数将给出时间戳。但是,您必须确保正确识别字符串,您可能需要做一些额外的工作。
答案 1 :(得分:1)
假设您使用Android并因此使用java(是的,您没有提及,只有您问题中的标记表明它...)
与提到的here(以及其他各种地方)一样,您可以使用SimpleDateFormat
类在Java中解析日期:
SimpleDateFormat parserSDF=new SimpleDateFormat("M/d/yyyy h:m:s a");
Date d = parserSDF.parse(dateField,0);
当然,您必须首先用一些库(例如来自json.org或Google gson的标准库)解析json输入,然后将字段中的字符串解析为日期。
答案 2 :(得分:0)
答案 3 :(得分:-2)
你是如何解析日期的?在Chrome中,这似乎工作正常:
new Date("5/21/2012 4:49:17 PM");
Mon May 21 2012 16:49:17 GMT-0400 (US Eastern Daylight Time)