JSON è un formato di scambio dati formattato e leggibile per trasmettere dati con attributi. Tuttavia, i dati di grandi dimensioni in formato JSON non sono molto presentabili e facilmente comprensibili. Abbiamo principalmente bisogno di convertire i dati JSON di grandi dimensioni in un formato presentabile. Questo articolo ti guiderà a convertire i dati JSON in report PDF e MS Word in Java utilizzando un semplice modello.

API Java per la generazione di report

Utilizzerò l’API di GroupDocs.Assembly for Java per generare rapporti dai dati e dal modello JSON forniti in formato DOCX e TXT. Supporta anche la generazione automatica di report in più formati da origini dati CSV, XML.

Scarica o configura

Puoi scaricare il file JAR dalla sezione download, o semplicemente ottenere il repository e le configurazioni delle dipendenze per il pom.xml delle tue applicazioni Java basate su 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>

Genera report PDF da dati JSON in Java

Passiamo rapidamente ai passaggi che ti porteranno a convertire i dati JSON nel rapporto PDF formattato.

  • Ottieni origine dati JSON
  • Definisci il modello in base ai dati JSON
  • Fornisci l’origine dati JSON e il modello al codice Java semplice per la generazione di report.
Rapporto da JSON a PDF in Java

Dati JSON

Per la generazione del rapporto PDF, utilizzerò i seguenti dati JSON di esempio dei gestori e dei rispettivi clienti e dettagli.

\[
	{
		"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}\]
	}
\]

Modello

Definire il seguente modello in formato TXT o DOCX. Ciò consentirà di scorrere i gestori e i rispettivi clienti e i loro dettagli. Successivamente, puoi passare al codice per la generazione del rapporto.

<<foreach [in managers]>>Manager: <<[Name]>>
Contracts:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>

Passaggi Java per generare report PDF da JSON

I passaggi seguenti e il codice Java consentono la conversione automatica dei dati JSON in report PDF secondo il modello definito.

  • Definisci i percorsi del file di dati JSON, del file modello .txt e del file di rapporto di output PDF.
  • Crea un’istanza di JsonDataSoure con il file di dati JSON.
  • Crea DataSourceInfo con JsonDataSource definito.
  • Chiama il metodo assembleDocument della classe DocumentAssembler per generare il report PDF dai dati JSON forniti e dal modello definito.
// Genera report PDF da dati JSON utilizzando il modello TXT in Java con l'API GroupDocs.Assembly
// Definire l'origine dati, il modello e i file di report di output.
String jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromJSON.pdf";				
// Istanziare l'origine dati JSON
JsonDataSource datasource= new JsonDataSource(jsonFilePath);			  
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// Genera rapporto
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);

Genera report MS Word dai dati JSON in Java

Allo stesso modo, come la generazione del rapporto PDF sopra, puoi facilmente creare il rapporto DOCX:

  • Definizione dello stesso modello in formato DOCX.
  • Impostare il formato del documento del rapporto di output come DOCX.
  • Il resto del codice rimarrà lo stesso per generare il report MS Word DOCX dai dati JSON.
// Genera report Word dai dati JSON utilizzando il modello DOCX in Java con l'API GroupDocs.Assembly
// Definire l'origine dati, il modello e i file di report di output.
String jsonFilePath = "dataPath/ManagerData.json";
String templateFilePath = "templatePath/template.docx";
String reportFilePath = "reportsPath/reportFromJSON.docx";			
// Istanziare l'origine dati JSON
JsonDataSource datasource= new JsonDataSource(jsonFilePath);			  
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"managers");
// Genera rapporto
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath,reportFilePath,dataSourceInfo);

Per maggiori dettagli, opzioni ed esempi, puoi consultare il repository documentation e GitHub. In caso di ulteriori domande e ambiguità, contatta il supporto gratuito sul forum.

Conclusione

Spero che ti sentirai a tuo agio nel creare la tua applicazione basata su Java per generare report convertendo i dati JSON in formato PDF. Allo stesso modo, puoi generare rapporti in altri formati come DOCX utilizzando altre origini dati come CSV e XML.

Guarda anche