Формат даты [2020, 9, 15]: что это за формат?

Sep 22 2020

Я пытаюсь использовать внешний json, в котором есть несколько дат. Формат даты: [ 2020, 9, 15 ]Я пробовал использовать ее как строку, но это не сработало.

Подскажите, пожалуйста, что это за формат

Ответы

3 OleV.V. Sep 22 2020 at 01:56

java.time

Считайте числовой массив JSON в Java int[]( intмассив) и создайте LocalDateиз него.

    int[] arrayFromJson = { 2020, 9, 15 };
    System.out.println("Array from JSON: " + Arrays.toString(arrayFromJson));
    
    LocalDate date = LocalDate.of(arrayFromJson[0], arrayFromJson[1], arrayFromJson[2]);
    System.out.println("Date as LocalDate: " + date);

Выход:

Array from JSON: [2020, 9, 15]
Date as LocalDate: 2020-09-15

LocalDate - это класс из java.time, современного API даты и времени Java, для представления даты без времени суток, так что это правильный класс для использования здесь.

Чтение и анализ JSON

Как читать JSON в Java? Это зависит от того, какую библиотеку вы используете для этого. Вот пример использования Джексона:

    ObjectMapper mapper = new ObjectMapper();
    String json = "[ 2020, 9, 15]";

    int[] arrayFromJson = mapper.readValue(json, int[].class);
    System.out.println(Arrays.toString(arrayFromJson));
[2020, 9, 15]