无法解析的日期:“20180 ......”Json 日期到 java

Unparseable date : "20180......" Json date to java

我正在尝试像这样 "20180130000000" 解析 json 格式的日期, 程序向我发送了这个异常,你知道怎么做吗? 这是我的代码:

{
   "monTableau": [
      {
         "Données": "ONE",
         "Date import": "20180130000000",
         "Date export": "20180130000000"
      },
      {
         "Données": "TWO",
         "Date import": "20190101000000",
         "Date export": "20190101000000"
      },
      {
         "Données": "THREE",
         "Date import": "20200101000000",
         "Date export": "20200101000000"
      },
      {
         "Données": "FOUR",
         "Date import": "20180130000000",
         "Date export": "20180130000000"
      }
   ]
}
public class App 
{
    public static void main( String[] args )
    {
        JSONParser jsonP = new JSONParser();
        SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yy");

        try {
            JSONObject jsonO = (JSONObject) jsonP.parse(new FileReader("C:/myJsonTest.json"));
            JSONArray myArray = (JSONArray) jsonO.get("monTableau");

            for (int i=0;i<myArray.size();i ++){
                JSONObject jo = (JSONObject) myArray.get(i);
                String donnees = (String) jo.get("Données");
                String dateImport = (String) jo.get("Date import");
                Date date = df.parse(dateImport);
                String dateExport = (String) jo.get("Date export");
                System.out.println("Donnees : "+donnees);
                //System.out.println("Date import : "+date);
            }

        } catch (ParseException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (java.text.ParseException e) {
            e.printStackTrace();
        }
    }
}

您使用模式 dd-MMM-yy 定义了日期格式化程序。但是你的输入就完全不同了。您必须根据您的输入调整图案。

尝试不同的模式,例如:

SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");