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 на 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.

Смотрите также