Получение информации JSON из URL, затем помещение и организация JSON в файл CSV - PullRequest
0 голосов
/ 02 июля 2019

Мне нужно получить информацию JSON из API, а затем заполнить файл Excel (через CSV) его упорядоченной информацией. Меня сбивает с толку организация данных в файл excel (CSV), а json печатает только в одну строку. Могу ли я привести пример, как это сделать? Я очень смущен.

Я уже выяснил, как получить данные JSON от API, а также создать файл CSV, но данные JSON печатаются в одну строку.

Мне нужно, чтобы файл был организован в столбцы, такие как (Имя, Дата и т. Д.), А затем заполнял эти столбцы соответствующей информацией из данных json.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 02 июля 2019

Допустим, ваш JSON выглядит так:

{"foo":"bar", "baz":"qux"}

И вам нужно превратить его в этот CSV со строкой заголовка:

foo,baz
bar,qux

Типичный способ сделать это следующий:

  1. Вызовите API, получите ответ JSON
  2. Десериализация JSON в объект. Это может быть POJO, или если ваши данные просты, вы можете просто вставить их в Map
  3. Сериализация объекта в CSV и запись его в файловую систему

Джексон предоставляет отличный API обработки JSON, поэтому для этого с Джексоном будет выглядеть примерно так:

Создайте свой POJO:

public class MyBean { 
    @JsonProperty
    private String foo

    @JsonProperty
    private String baz

}

Десериализовать JSON в класс MyBean:

ObjectMapper om = new ObjectMapper();
MyBean b = om.readValue(jsonText, MyBean.class)

Теперь вам просто нужно вывести текст CSV

String csv = "foo,baz\n" + b.getFoo() + "," + b.getBaz();
BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));
writer.write(csv);

Конечно, есть намного лучшие способы выписать CSV, если вы немного погуглите.

0 голосов
/ 02 июля 2019

Вы, безусловно, получили от API одну строку json, потому что минимизированный json дешевле отправляемого отформатированного json.

Для получения информации от вашего json вы можете взглянуть на json-pointer https://www.baeldung.com/json-pointer,, которые позволяют вам получать от нее конкретную информацию.

После извлечения всей вашей информации вы должны создать свой CSV-файл с выбранными вами данными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...