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