Appendix : Operators : Data source operators : JSON
JSON
Extracts data from a JSON file.
The following parameters are available.
Parameters
Description
Source
JSON file
URL: HTTP address for the JSON source file. If another operator dynamically supplies the URL, the URL cannot be edited here.
URL alias: Alias of a URL configuration. Only URL aliases for that you have the Usage privilege are available. Select a URL alias. See Manage URL aliases for details.
Local file: loads file from a resource directory. Files must be located in a defined resource directory on the MashZone NextGen server.
Path prefix (alias):
Path prefix (alias): Alias of the resource directory with the path to a directory on the MashZone NextGen server. Select an alias of the local resource directory.
Available for Local file and URL alias as source.
Browse file alias (...)
Enables you to browse the resource directories with the alias defined. Click the Browse file alias (...) button and select the required source file.
At least one resource directory must exist. See Manage resource directories for details.
Parameter options ()
Enables you to set input parameter options
Refresh rate ()
Specifies the time until the source file is read in again. Default value is 12 h.
Authentication
Specifies a HTTP basic access authentication or an existing authentication defined in the MashZone NextGen administration.
User name and password are required for accessing the source file.
HTTP headers
Adds HTTP headers to the URL
Repeating object: Detect
Reads out the repeating object automatically. A repeating object already set by a user will not be considered. Depending on the repeating object, the detected columns will be displayed in the Columns box.
JSON object that is repeated for each row;
You can edit the repeating object manually.
Specify a valid XQuery 3.1 lookup expression, e.g.,
?catalog?journal?articles?*
?data?rows?*
?catalog?books?*
Conceptually, a JSON document is loaded as a nested structure of maps and arrays. The above expressions use the (terse form of the) map/array lookup syntax as follows:
- the initial '?' is a unary lookup operator that selects a named member of the root map
- further '?' are postfix lookup operators
- '?*' selects all members of an array
'?5' would select the fifth element of an array.
More details of the lookup syntax can be found at https://www.w3.org/TR/xquery-31/#id-lookup
Advanced parsing options
Charset: Character set in which the source file is coded. This can be set manually if the extracted data refers to a different coding type.
By default, the HTTP response encoding is used if available, otherwise UTF-8 is assumed.
EMML parsing: Parses values in the same way as they are parsed in EMML. This affects parsing of numeric and date values. It affects whether a particular value is understood as a date or numeric value, because different sets of date patterns and locales are used. If this option is deactivated, then dates without an explicit time zone are assigned to the server's default time zone, while when this option is deactivated, they are assigned GMT.
Columns: Detect
Reads out the columns of the data source automatically. The requested columns list will be displayed, based on the specified repeating object.
Configure columns
Configures the columns list. Unselect a column for excluding it from the result data. Entering a New name for a column will cause that to be used instead of the original column name in the result. Clicking Reset columns will reload the column list from the data source and undo all changes in the list.
Uploading JSON files to the MashZone NextGen Repository:
If required, you can upload JSON files to the MashZone NextGen Repository.
See Add External Resources as MashZone NextGen Files for details.
To upload a file to the MashZone NextGen Repository administration privileges are required.
If you use an absolute URL, e.g., http://anyhost:8080/mashzone/files/admin_json?1454486242000, then an authentication has to be set. All requests to the uploaded file will be made with the specified user / password combination.
If you use a relative URL, e.g., /mashzone/files/admin_json?1454486242000, then an authentication is not required. All requests to the uploaded file will be made with the current logged in user.
In some cases, it might be necessary to grant view permission for a user. This can be done with the API console, e.g.:
{
"version":"1.1",
"sid":"PolicyService",
"svcVersion":"0.1",
"oid":"addPermissions",
"params":[
"fileName","type.entity.file","VIEW",
[{"principalId":"userID","principalTypeId":"User"}]]
}
*fileName is the name that was specified while uploading the file.
*userID is the id of the user, who should get the permission.
Copyright © 2013-2017 Software AG, Darmstadt, Germany.

Product LogoContact Support   |   Community   |   Feedback