यह कैसे मैं Jasper में json सरणियों संभाल
चलें कहते हैं कि मैं निम्नलिखित सरणी बंद रिपोर्ट करना चाहते है।
[
{"name":"Jerry", "value":"Jesus"},
{"name":"Gideon", "value": "Loves"},
{"name":"Eva", "value": "You"}
]
रिपोर्ट तैयार करते समय, सुनिश्चित करें कि आप फ़ील्ड को अपने जेसन फ़ील्ड नाम के समान नाम दें। तो डिजाइनर में मैं नाम और मान नामक दो फ़ील्ड जोड़ूंगा। आप आवश्यकतानुसार रिपोर्ट डिजाइनर को कई पैरामीटर भी जोड़ सकते हैं। इस उदाहरण के लिए, मैं जैस्पर स्टूडियो में शीर्षक नामक एक पैरामीटर जोड़ूंगा।
अब जावा कोड है जो इस परीक्षण सरणी के आधार पर जेस्पर रिपोर्ट तैयार करेगा। मैं कोड में जेसन डेटा को कड़ी मेहनत कर दूंगा, लेकिन आप फ़ाइल से लोड कर सकते हैं या जो भी आपको लगता है वह सबसे अच्छा है। मैंने यह बताने के लिए कोड पर टिप्पणी की कि क्या हो रहा है।
import net.sf.jasperreports.engine.export.JRHtmlExporterParameter;
import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
import net.sf.jasperreports.engine.export.JRHtmlExporter;
import net.sf.jasperreports.engine.export.JRXlsExporter;
import net.sf.jasperreports.engine.data.JsonDataSource;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperPrint;
import org.apache.commons.codec.binary.Base64;
import java.util.HashMap;
import java.util.Locale;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.io.*;
//Class Name. This must match the class name you put in your build.gradle file
public class JasperPDFExample {
public static void main(String[] args) {
try {
try {
//Our json object. This can be loaded from file
String rawJsonData = "[{\"name\":\"Jerry\", \"value\":\"Jesus\"},"
+ "{\"name\":\"Gideon\", \"value\": \"Loves\"},"
+ "{\"name\":\"Eva\", \"value\": \"You\"}"
+ "]";
//Load compiled jasper report that we created on first section.
JasperReport report = (JasperReport) JRLoader.loadObject(new File("/home/jerry/Sample.jasper"));
//Convert json string to byte array.
ByteArrayInputStream jsonDataStream = new ByteArrayInputStream(rawJsonData.getBytes());
//Create json datasource from json stream
JsonDataSource ds = new JsonDataSource(jsonDataStream);
//Create HashMap to add report parameters
Map parameters = new HashMap();
//Add title parameter. Make sure the key is same name as what you named the parameter in jasper report.
parameters.put("title", "Jasper PDF Example");
//Create Jasper Print object passing report, parameter json data source.
JasperPrint jasperPrint = JasperFillManager.fillReport(report, parameters, ds);
//Export and save pdf to file
JasperExportManager.exportReportToPdfFile(jasperPrint,"/home/jerry/jasperpdfexample.pdf");
} catch (JRException ex) {
ex.printStackTrace();
throw new RuntimeException(ex);
} catch (Exception ex) {
ex.printStackTrace();
throw new RuntimeException(ex);
}
} catch (Exception ex) {
ex.printStackTrace();
throw new RuntimeException(ex);
}
}
}
https://mis.io/pub/how-to-create-a-jasper-pdf-report-from-a-json-datasource-in-java/ के लिए धन्यवाद मैं इस Gradle निर्माण उपकरण का उपयोग कर जैस्पर के लिए जावा की स्थापना के साथ-साथ काम करने के लिए प्राप्त करने में सक्षम था।
क्या आपने कभी यह काम किया है? मैं अब वही बात कर रहा हूं – Marianna