如何正确地将字符串表示转换为java日期与jackson ObjectMapper readValue内联?

时间:2016-09-23 16:43:04

标签: java json jsonobject

在我的java应用程序中,我正在从REST API读取JSON数组。

这是我的代码,它从JSON数组中读取单个对象,并尝试将每个JSON对象转换为强类型对象:

JSONArray jsonArray = new JSONArray(videoFromMessage);

                for (int i = 0; i < jsonArray.length(); i++) {                  
                    JSONObject custtableObject = jsonArray.getJSONObject(i);

                    ObjectMapper mapper = new ObjectMapper();

                    Custtable custTable = mapper.readValue(custtableObject.toString(), new TypeReference<Custtable >(){});

                        }

该数组中的每个custTable对象都包含一个名为“modifieddatetime”的字段,其值类似于:

Fri Dec 31 18:00:00 CST 1

readValue调用抛出此异常:

    com.fasterxml.jackson.databind.exc.InvalidFormatException: 
    Can not construct instance of java.util.Date from String value 'Fri Dec 31 18:00:00 CST 1': 
not a valid representation (error: Failed to parse Date value 'Fri Dec 31 18:00:00 CST 1': 
Can not parse date "Fri Dec 31 18:00:00 CST 1":
 not compatible with any of standard forms 
("yyyy-MM-dd'T'HH:mm:ss.SSSZ", "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", "EEE, dd MMM yyyy HH:mm:ss zzz", "yyyy-MM-dd"))

是否有一些方法,功能,实用程序或API(我可以调用)将此字段值转换为可接受的格式?

0 个答案:

没有答案