JsonDataSource
Inheritance: java.lang.Object
public class JsonDataSource
Provides access to data of a JSON file or stream to be used within a report.
To learn more, visit the LINQ Reporting Engine documentation article.
Remarks:
To access data of the corresponding file or stream while generating a report, pass an instance of this class as a data source to one of ReportingEngine. buildReport overloads.
In template documents, if a top-level JSON element is an array, a JsonDataSource instance should be treated in the same way as if it was a DataTable instance. If a top-level JSON element is an object, a JsonDataSource instance should be treated in the same way as if it was a DataRow instance. For more information, see template syntax reference(https://docs.aspose.com/display/wordsjava/Template+Syntax).
In template documents, you can work with typed values of JSON elements. For convenience, the engine replaces the set of JSON simple types with the following one:
- long
- double
- boolean
- java.util.Date
- java.lang.String
The engine automatically recognizes values of the extra types upon their JSON representations.
To override default behavior of JSON data loading, initialize and pass a JsonDataLoadOptions instance to a constructor of this class.
Examples:
Shows how to use JSON as a data source (string).
Document doc = new Document(getMyDir() + "Reporting engine template - JSON data destination (Java).docx");
JsonDataLoadOptions options = new JsonDataLoadOptions();
{
options.setExactDateTimeParseFormats(Arrays.asList(new String[]{"MM/dd/yyyy", "MM.d.yy", "MM d yy"}));
}
JsonDataSource dataSource = new JsonDataSource(getMyDir() + "List of people.json", options);
buildReport(doc, dataSource, "persons");
doc.save(getArtifactsDir() + "ReportingEngine.JsonDataString.docx");
Constructors
Constructor | Description |
---|---|
JsonDataSource(String jsonPath) | Creates a new data source with data from a JSON file using default options for parsing JSON data. |
JsonDataSource(InputStream jsonStream) | Initializes a new instance of this class. |
JsonDataSource(String jsonPath, JsonDataLoadOptions options) | Creates a new data source with data from a JSON file using the specified options for parsing JSON data. |
JsonDataSource(InputStream jsonStream, JsonDataLoadOptions options) | Initializes a new instance of this class. |
JsonDataSource(String jsonPath)
public JsonDataSource(String jsonPath)
Creates a new data source with data from a JSON file using default options for parsing JSON data.
Parameters:
Parameter | Type | Description |
---|---|---|
jsonPath | java.lang.String | The path to the JSON file to be used as the data source. |
JsonDataSource(InputStream jsonStream)
public JsonDataSource(InputStream jsonStream)
Initializes a new instance of this class.
Parameters:
Parameter | Type | Description |
---|---|---|
jsonStream | java.io.InputStream |
JsonDataSource(String jsonPath, JsonDataLoadOptions options)
public JsonDataSource(String jsonPath, JsonDataLoadOptions options)
Creates a new data source with data from a JSON file using the specified options for parsing JSON data.
Examples:
Shows how to use JSON as a data source (string).
Document doc = new Document(getMyDir() + "Reporting engine template - JSON data destination (Java).docx");
JsonDataLoadOptions options = new JsonDataLoadOptions();
{
options.setExactDateTimeParseFormats(Arrays.asList(new String[]{"MM/dd/yyyy", "MM.d.yy", "MM d yy"}));
}
JsonDataSource dataSource = new JsonDataSource(getMyDir() + "List of people.json", options);
buildReport(doc, dataSource, "persons");
doc.save(getArtifactsDir() + "ReportingEngine.JsonDataString.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
jsonPath | java.lang.String | The path to the JSON file to be used as the data source. |
options | JsonDataLoadOptions | Options for parsing JSON data. |
JsonDataSource(InputStream jsonStream, JsonDataLoadOptions options)
public JsonDataSource(InputStream jsonStream, JsonDataLoadOptions options)
Initializes a new instance of this class.
Parameters:
Parameter | Type | Description |
---|---|---|
jsonStream | java.io.InputStream | |
options | JsonDataLoadOptions |