Jump to content
We've recently updated our Privacy Statement, available here ×

nils.stritzel

Members
  • Posts

    4
  • Joined

  • Last visited

nils.stritzel's Achievements

Newbie

Newbie (1/14)

  • Week One Done
  • One Month Later
  • One Year In
  • First Post Rare
  • Conversation Starter Rare

Recent Badges

0

Reputation

  1. Solved it myself using <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JsonDataSource( new java.io.ByteArrayInputStream( $P{jsonData}.getBytes("UTF-8") ), "labelData")]]></dataSourceExpression> And subreportParameter jsonData is not needed.
  2. Hi, I want to show the following some json data in Jasper Report. The json could come from file or an URL, therefore I want to be totally flexible on this point. I did not see the possibility to pass the whole URL into DATA Adapter, simply setting the net.sf.jasperreports.http.data.url parameter in the report did not seem to have any effect. I came across the hint to put in a subreport, but that did not work for me either. I came up with code below, but seemingly passing in the stream has no effect. I tried with <subreportParameter name="REPORT_DATA_SOURCE"> <subreportParameterExpression><![CDATA[new net.sf.jasperreports.engine.data.JsonDataSource( new java.io.ByteArrayInputStream( $P{jsonData}.getBytes("UTF-8") ), ".")]]></subreportParameterExpression> </subreportParameter>[/code]and with <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JsonDataSource( new java.io.ByteArrayInputStream( $P{jsonData}.getBytes("UTF-8") ), ".")]]></dataSourceExpression>[/code]but to no avail. json: { "labelData": [ { "batchNo": "9888", "boxNo": 1, "barcodeNo": "BB9B1399C2595DABE0530101007FAA1F", "noOfCards": 1000 }, { "batchNo": "9888", "boxNo": 10, "barcodeNo": "BB9B1399CA295DABE0530101007FAA1F", "noOfCards": 999 }, { "batchNo": "9888", "boxNo": 2, "barcodeNo": "BB9B1399D1F95DABE0530101007FAA1F", "noOfCards": 1000 } ] }[/code]Main report: <?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.10.0.final using JasperReports Library version 6.10.0-unknown --><jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="MULTI_LABEL_WRAPPER" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="19f14ced-fdf1-4aef-9aa2-08d390afab43"> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/> <parameter name="jsonData" class="java.lang.String" evaluationTime="Early"> <defaultValueExpression><![CDATA["{"labelData":[{"batchNo":"9888", "boxNo":1, "barcodeNo":"BB9B1399C2595DABE0530101007FAA1F", "noOfCards":1000},{"batchNo":"9888", "boxNo":10, "barcodeNo":"BB9B1399CA295DABE0530101007FAA1F", "noOfCards":999},{"batchNo":"9888", "boxNo":2, "barcodeNo":"BB9B1399D1F95DABE0530101007FAA1F", "noOfCards":1000}]}"]]></defaultValueExpression> </parameter> <parameter name="JSON_INPUT_STREAM" class="java.lang.String" isForPrompting="false"> <defaultValueExpression><![CDATA[new java.io.ByteArrayInputStream($P{jsonData}.getBytes("UTF8"))]]></defaultValueExpression> </parameter> <queryString> <![CDATA[select 1 from dual]]> </queryString> <title> <band height="802" splitType="Stretch"> <property name="com.jaspersoft.studio.unit.height" value="px"/> <textField> <reportElement x="70" y="40" width="430" height="210" uuid="2158d753-58d5-49a8-a808-e79598600604"/> <textFieldExpression><![CDATA[$P{jsonData}]]></textFieldExpression> </textField> <subreport> <reportElement x="93" y="367" width="200" height="200" uuid="7ea0bc6f-17dc-4da2-840d-a9b06a10afce"/> <subreportParameter name="jsonData"> <subreportParameterExpression><![CDATA[$P{jsonData}]]></subreportParameterExpression> </subreportParameter> <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JsonDataSource( new java.io.ByteArrayInputStream( $P{jsonData}.getBytes("UTF-8") ), ".")]]></dataSourceExpression> <subreportExpression><![CDATA["MULTI_LABEL_DETAILS.jasper"]]></subreportExpression> </subreport> </band> </title></jasperReport>[/code]Subreport: <?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.10.0.final using JasperReports Library version 6.10.0-unknown --><jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="MULTI_LABEL_DETAILS" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="0b376d70-a9c5-4b88-a8cf-e7e83ae35bdb"> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="JSON DATA"/> <property name="com.jaspersoft.studio.report.description" value=""/> <parameter name="jsonData" class="java.lang.String"> <defaultValueExpression><![CDATA["N/A"]]></defaultValueExpression> </parameter> <queryString language="JSON"> <![CDATA[labelData]]> </queryString> <field name="batchNo" class="java.lang.Integer"> <property name="net.sf.jasperreports.json.field.expression" value="batchNo"/> <fieldDescription><![CDATA[batchNo]]></fieldDescription> </field> <field name="boxNo" class="java.lang.Integer"> <property name="net.sf.jasperreports.json.field.expression" value="boxNo"/> <fieldDescription><![CDATA[boxNo]]></fieldDescription> </field> <field name="barcodeNo" class="java.lang.String"> <property name="net.sf.jasperreports.json.field.expression" value="barcodeNo"/> <fieldDescription><![CDATA[barcodeNo]]></fieldDescription> </field> <field name="noOfCards" class="java.lang.Integer"> <property name="net.sf.jasperreports.json.field.expression" value="noOfCards"/> <fieldDescription><![CDATA[noOfCards]]></fieldDescription> </field> <title> <band height="56"> <textField> <reportElement x="40" y="10" width="100" height="30" uuid="43578753-2cbd-4518-abfd-5620c9240046"/> <textFieldExpression><![CDATA[$P{jsonData}]]></textFieldExpression> </textField> <staticText> <reportElement x="184" y="26" width="100" height="30" uuid="9788ad8e-ab4c-44f7-b1da-b1bc64ebe5da"/> <text><![CDATA[static Text]]></text> </staticText> </band> </title> <detail> <band height="125" splitType="Stretch"> <textField> <reportElement x="9" y="70" width="141" height="30" uuid="01ad50bb-d75d-48f4-b204-4bb2fd61129e"> <property name="com.jaspersoft.studio.spreadsheet.connectionID" value="b3561fcb-f0ec-49f8-9efc-3bf3895e2b65"/> </reportElement> <textFieldExpression><![CDATA[$F{batchNo}]]></textFieldExpression> </textField> <textField> <reportElement x="150" y="70" width="138" height="30" uuid="2532d8f2-ed29-4f10-b54b-ca896e4ae408"> <property name="com.jaspersoft.studio.spreadsheet.connectionID" value="648d8041-f83f-422b-9974-15075dd08065"/> </reportElement> <textFieldExpression><![CDATA[$F{boxNo}]]></textFieldExpression> </textField> <textField> <reportElement x="288" y="70" width="138" height="30" uuid="3cac6a1b-594a-41f7-a207-45b1fa5b6119"> <property name="com.jaspersoft.studio.spreadsheet.connectionID" value="23f27815-59a7-4477-bd53-5ad111e6290b"/> </reportElement> <textFieldExpression><![CDATA[$F{barcodeNo}]]></textFieldExpression> </textField> <textField> <reportElement x="426" y="70" width="138" height="30" uuid="1eee0f1c-2467-4d3e-b0a2-ebc88e1de0f4"> <property name="com.jaspersoft.studio.spreadsheet.connectionID" value="1537dc86-aa41-42fd-87cc-581322440232"/> </reportElement> <textFieldExpression><![CDATA[$F{noOfCards}]]></textFieldExpression> </textField> </band> </detail></jasperReport>[/code]Any hints are appreciated!
×
×
  • Create New...