JSON — это форматированный и читаемый формат обмена данными для передачи данных с атрибутами. Однако большие данные в формате JSON не очень презентабельны и понятны. В основном нам нужно преобразовать большие данные JSON в презентабельный формат. Эта статья поможет вам конвертировать данные JSON в отчеты PDF и MS Word на Java с помощью простого шаблона.
Java-API для создания отчетов
Я буду использовать API GroupDocs.Assembly for Java для создания отчетов на основе предоставленных данных JSON и шаблона в формате DOCX и TXT. Он также поддерживает автоматическое создание отчетов в различных форматах из источников данных CSV, XML.
Загрузите или настройте
Вы можете загрузить файл JAR из раздела загрузок или просто получить репозиторий и конфигурации зависимостей для pom.xml ваших на основе maven приложений Java.
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-assembly</artifactId>
<version>21.1</version>
</dependency>
Создание отчета в формате PDF из данных JSON в Java
Давайте быстро перейдем к шагам, которые приведут вас к преобразованию данных JSON в отформатированный отчет PDF.
- Получить источник данных JSON
- Определить шаблон в соответствии с данными JSON
- Предоставьте источник данных JSON и шаблон для простого кода Java для создания отчетов.
Данные JSON
Для создания отчета в формате PDF я буду использовать следующий пример данных JSON о менеджерах и их соответствующих клиентах и деталях.
\[
{
"Name":"John Smith","Contract":\[
{"Client":{"Name":"A Company"},"Price":1200000},
{"Client":{"Name":"B Ltd."},"Price":750000},
{"Client":{"Name":"C & D"},"Price":350000}\]
},
{
"Name":"Tony Anderson","Contract":\[
{"Client":{"Name":"E Corp."},"Price":650000},
{"Client":{"Name":"F & Partners"},"Price":550000}\]
},
{
"Name":"July James","Contract":\[
{"Client":{"Name":"G & Co."},"Price":350000},
{"Client":{"Name":"H Group"},"Price":250000},
{"Client":{"Name":"I & Sons"},"Price":100000},
{"Client":{"Name":"J Ent."},"Price":100000}\]
}
\]
Шаблон
Определите следующий шаблон в формате TXT или DOCX. Это позволит перебирать Менеджеров и их соответствующих Клиентов и их данные. После этого вы можете перейти к коду для создания отчета.
<<foreach [in managers]>>Manager: <<[Name]>>
Contracts:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>
Шаги Java для создания отчета PDF из JSON
Следующие шаги и код Java позволяют автоматически преобразовывать данные JSON в отчет PDF в соответствии с определенным шаблоном.
- Определите пути к файлу данных JSON, файлу шаблона .txt и выходному файлу отчета в формате PDF.
- Создайте экземпляр JsonDataSoure с файлом данных JSON.
- Создайте DataSourceInfo с определенным JsonDataSource.
- Вызовите метод assembleDocument класса DocumentAssembler для создания отчета в формате PDF на основе предоставленных данных JSON и определенного шаблона.
// Создание отчета в формате PDF из данных JSON с использованием шаблона TXT на Java с API GroupDocs.Assembly
// Определите источник данных, шаблон и файлы выходных отчетов.
String jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromJSON.pdf";
// Создание источника данных JSON
JsonDataSource datasource= new JsonDataSource(jsonFilePath);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// Создать отчет
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);
Создание отчета MS Word из данных JSON в Java
Точно так же, как и в приведенном выше создании отчета в формате PDF, вы можете легко создать отчет в формате DOCX, выполнив следующие действия:
- Определение того же шаблона в формате DOCX.
- Установите формат документа выходного отчета как DOCX.
- Остальной код останется прежним для создания отчета MS Word DOCX из данных JSON.
// Создание отчета Word из данных JSON с использованием шаблона DOCX на Java с API GroupDocs.Assembly
// Определите источник данных, шаблон и файлы выходных отчетов.
String jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/reportFromJSON.docx";
// Создание источника данных JSON
JsonDataSource datasource= new JsonDataSource(jsonFilePath);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// Создать отчет
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);
Дополнительные сведения, варианты и примеры можно найти в репозиториях documentation и GitHub. В случае возникновения дополнительных вопросов и неясностей обращайтесь в бесплатную службу поддержки на форуме.
Вывод
Надеюсь, вам будет удобно создавать собственное приложение на основе Java для создания отчетов путем преобразования данных JSON в формат PDF. Точно так же вы можете создавать отчеты в других форматах, таких как DOCX, используя другие источники данных, такие как CSV и XML.