JSON — це форматований і читабельний формат обміну даними для передачі даних з атрибутами. Однак великі дані у форматі JSON не дуже презентабельні та легко зрозумілі. Нам переважно потрібно конвертувати великі дані JSON у презентабельний формат. Ця стаття допоможе вам конвертувати дані JSON у звіти PDF і MS Word на Java за допомогою простого шаблону.

Java API для створення звітів

Я буду використовувати API GroupDocs.Assembly for Java для створення звітів із наданих даних JSON і шаблону у форматах DOCX і TXT. Він також підтримує автоматичне створення звітів у різних форматах із джерел даних CSV, XML.

Завантажити або налаштувати

Ви можете завантажити файл JAR із розділу завантажень або просто отримати репозиторій і конфігурації залежностей для pom.xml ваших програм Java на основі Maven.

<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 за допомогою GroupDocs.Assembly API
// Визначте джерело даних, шаблон і файли вихідних звітів.
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 за допомогою GroupDocs.Assembly API
// Визначте джерело даних, шаблон і файли вихідних звітів.
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);

Щоб отримати додаткові відомості, параметри та приклади, ви можете перейти до сховищ документації і GitHub. У разі подальших запитань і неясностей зверніться до безкоштовної служби підтримки на форумі.

Висновок

Сподіваюся, вам буде зручно створювати власну програму на основі Java для створення звітів шляхом перетворення даних JSON у формат PDF. Подібним чином ви можете створювати звіти в інших форматах, наприклад DOCX, використовуючи інші джерела даних, наприклад CSV і XML.

Дивись також