JSON je formátovaný a čitelný formát pro výměnu dat pro přenos dat s atributy. Velká data ve formátu JSON však nejsou příliš prezentovatelná a snadno srozumitelná. Většinou potřebujeme převést velká data JSON do prezentovatelného formátu. Tento článek vás provede převodem dat JSON do sestav PDF a MS Word v Java pomocí jednoduché šablony.
Report Generation Java API
Budu používat GroupDocs.Assembly for Java API ke generování sestav z poskytnutých dat JSON a šablony ve formátu DOCX a TXT. Podporuje také automatické generování sestav v různých formátech z datových zdrojů CSV, XML.
Stáhnout nebo Konfigurovat
Soubor JAR si můžete stáhnout z části ke stažení, nebo stačí získat konfigurace úložiště a závislostí pro pom.xml vašich Java aplikací založených na 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>
Vygenerujte zprávu PDF z dat JSON v Java
Pojďme rychle přejít ke krokům, které vás povedou k převodu dat JSON do sestavy ve formátu PDF.
- Získejte zdroj dat JSON
- Definujte šablonu podle dat JSON
- Poskytněte zdroj dat a šablonu JSON jednoduchému kódu Java pro generování sestav.
Data JSON
Pro generování zprávy ve formátu PDF použiji následující ukázková data JSON manažerů a jejich příslušných klientů a podrobnosti.
\[
{
"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}\]
}
\]
Šablona
Definujte následující šablonu ve formátu TXT nebo DOCX. To umožní iterovat přes manažery a jejich příslušné klienty a jejich podrobnosti. Poté můžete přejít na kód pro generování sestavy.
<<foreach [in managers]>>Manager: <<[Name]>>
Contracts:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>
Java Steps to Generation PDF Report from JSON
Následující kroky a kód Java umožňují automatický převod dat JSON do sestavy PDF podle definované šablony.
- Definujte cesty k datovému souboru JSON, souboru šablony .txt a souboru výstupní sestavy PDF.
- Vytvořte instanci JsonDataSoure s datovým souborem JSON.
- Vytvořte DataSourceInfo s definovaným JsonDataSource.
- Zavolejte metodu assembleDocument třídy DocumentAssembler a vygenerujte sestavu PDF z poskytnutých dat JSON a definované šablony.
// Generujte sestavu PDF z dat JSON pomocí šablony TXT v Java s GroupDocs.Assembly API
// Definujte zdroje dat, šablony a soubory výstupních sestav.
String jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromJSON.pdf";
// Okamžitý zdroj dat JSON
JsonDataSource datasource= new JsonDataSource(jsonFilePath);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// Vygenerovat zprávu
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);
Generujte MS Word Report z dat JSON v Java
Podobně jako výše uvedené generování zpráv ve formátu PDF můžete snadno vytvořit zprávu DOCX:
- Definování stejné šablony ve formátu DOCX.
- Nastavte formát dokumentu výstupní sestavy jako DOCX.
- Zbytek kódu zůstane stejný pro generování zprávy MS Word DOCX z dat JSON.
// Generujte Word Report z dat JSON pomocí šablony DOCX v Java s GroupDocs.Assembly API
// Definujte zdroje dat, šablony a soubory výstupních sestav.
String jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/reportFromJSON.docx";
// Okamžitý zdroj dat JSON
JsonDataSource datasource= new JsonDataSource(jsonFilePath);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// Vygenerovat zprávu
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);
Další podrobnosti, možnosti a příklady najdete v úložišti documentation a GitHub. V případě dalších dotazů a nejasností kontaktujte bezplatnou podporu na fóru.
Závěr
Doufám, že se budete cítit pohodlně při vytváření vlastní aplikace založené na Java pro generování sestav převodem dat JSON do formátu PDF. Podobně můžete vytvářet sestavy v jiných formátech, jako je DOCX, pomocí jiných zdrojů dat, jako jsou CSV a XML.