Reader Directives

The suffixes shown are prefixed by the current <ReaderKeyword> in a mapping file. By default, the <ReaderKeyword> for the JSON reader is JSON.

DATASET

Required/Optional: Required

The location of the JSON file to be read. This can be the path to a local or network file, or a URL.

Examples:

JSON_DATASET c:\json_sample.json
JSON_DATASET \\path\to\network\file.json
JSON_DATASET http://search.yahooapis.com/ImageSearchService/V1/imageSearch?appid=YahooDemo&query=FME&output=json

SCHEMA_SCAN_QUERY

Required/Optional: Optional

Specifies where in the JSON text the reader should look for objects representing FME features. If no value is provided, then the default query json[*] is used. This default query will work for a dataset that is an array of JSON objects, each of which represents a single feature. More information on JSON queries can be found in the JSONQueryFactory documentation.

Example:

JSON_SCHEMA_SCAN_QUERY json[“searchResults”][*]

Workbench Parameter: JSON Query for feature objects

FEATURE_TYPE_KEY

Required/Optional: Optional

This directive specifies the JSON object key whose value will become the feature type of the FME feature produced from the object. If no value is provided, then a default value of json_featuretype will be used.

Example:

JSON_FEATURE_TYPE_KEY json_featuretype

Workbench Parameter: Feature Type key name

GEOMETRY_KEY

Required/Optional: Optional

This directive specifies the JSON object key whose value contains the geometry of the FME feature produced from the object. If no value is provided, then a default value of json_geometry is used.

Example:

JSON_GEOMETRY_KEY json_geometry

Workbench Parameter: Geometry key name

GEOMETRY_FORMAT

Required/Optional: Optional

This directive specifies the geometry format that the reader should use when converting the value of the GEOMETRY_KEY directive into FME geometry. Possible values are GeoJSON, OGC-WKT and None. If no value is provided, then a default value of GeoJSON is used.

Example:

JSON_GEOMETRY_FORMAT OGC-WKT

Workbench Parameter: Geometry format

DELETE_DOWNLOAD_FILE

Required/Optional: Optional

If the value of this directive is ‘Yes’ then when the reader has finished reading downloaded JSON text, it will delete the file that the JSON text was downloaded to. The default value is ‘No’. The value of this directive is only meaningful if the dataset is a URL.

Example:

JSON_DELETE_DOWNLOAD_FILE No

Workbench Parameter: Delete downloaded file

DECODE_TEXT_STRINGS

Required/Optional

Required

If the value of this directive is ‘Yes’ then the JSON parser will decode character escape sequences. For example, the character sequence \n will be converted to a newline, \” will be converted to a double quote, etc. Valid values for this parameter are Yes and No.

Example:

JSON_DECODE_TEXT_STRINGS No

Workbench Parameter

Decode Character Escape Sequences

HTTP_AUTH_USERNAME

Required/Optional

Optional

Specifies the username to use when accessing a JSON file on a password protected server. This directive is ignored if either of the HTTP_AUTH_PASSWORD or HTTP_AUTH_METHOD directives have no value.

Example:

JSON_HTTP_AUTH_USERNAME someusername

Workbench Parameter

Http Username

HTTP_AUTH_PASSWORD

Required/Optional

Optional

Specifies the password to use when accessing a JSON file on a password protected server. This directive is ignored if either of the HTTP_AUTH_USERNAME or HTTP_AUTH_METHOD directives have no value.

Example:

JSON_HTTP_AUTH_PASSWORD password1234

Workbench Parameter

Http Password

HTTP_AUTH_METHOD

Required/Optional

Optional

Specifies the authentication method to use when accessing a JSON file on a password protected server. This directive is ignored if either of the HTTP_AUTH_USERNAME or HTTP_AUTH_PASSWORD directives have no value. Acceptable values for this directive are ‘Basic’, ‘Digest’ or ‘NTLM’.

Example:

JSON_HTTP_AUTH_METHOD Basic

Workbench Parameter

Http Authentication Method

PROXY_URL

Required/Optional: Optional

Specifies a proxy server that the reader will be use when accessing a URL dataset. The port number of the proxy server can be set in the URL, or by using the PROXY_PORT directive.

Example:

JSON_PROXY_URL www.someproxy.net
JSON_PROXY_URL www.someproxy.net:8080

Workbench Parameter

Proxy URL

PROXY_PORT

Required/Optional: Optional

Specifies the port number of the proxy server indicated by the PROXY_URL directive. This directive should only be used if the port number was not indicated in the PROXY_URL directive. This directive is ignored if the PROXY_URL directive has no value.

Example:

JSON_PROXY_PORT 8080

Workbench Parameter

Proxy Port

PROXY_USERNAME

Required/Optional: Optional

Specifies the username to use when accessing a password protected proxy server. This directive is ignored if any of the PROXY_URL, PROXY_PASSWORD or PROXY_AUTH_METHOD directives have no value.

Example:

JSON_PROXY_USERNAME someusername

Workbench Parameter

Proxy Username

PROXY_PASSWORD

Required/Optional: Optional

Specifies the password to use when accessing a password protected proxy server. This directive is ignored if any of the PROXY_URL, PROXY_USERNAME or PROXY_AUTH_METHOD directives have no value.

Example:

JSON_PROXY_PASSWORD password1234

Workbench Parameter

Proxy Password

PROXY_AUTH_METHOD

Required/Optional

Optional

Specifies the authentication method to use when accessing a password protected proxy server. This directive is ignored if any of the PROXY_URL, PROXY_USERNAME or PROXY_PASSWORD directives have no value. Acceptable values for this directive are ‘Basic,’ ‘Digest', or 'NTLM’.

Example:

JSON_PROXY_AUTH_METHOD Basic

Workbench Parameter

Proxy Authentication Method

SEARCH_ENVELOPE

Using the minimum and maximum x and y parameters, define a bounding box that will be used to filter the input features. Only features that interact with the bounding box are returned.

If all four coordinates of the search envelope are specified as 0, the search envelope will be disabled.

Mapping File Syntax

<ReaderKeyword>_SEARCH_ENVELOPE <minX> <minY> <maxX> <maxY>

Note: If all four coordinates of the search envelope are specified as zero, the search envelope will be disabled.

Required/Optional

Optional

Workbench Parameter

Minimum X, Minimum Y, Maximum X, Maximum Y

SEARCH_ENVELOPE_COORDINATE_SYSTEM

This directive specifies the coordinate system of the search envelope if it is different than the coordinate system of the data.

The COORDINATE_SYSTEM directive, which specifies the coordinate system associated with the data to be read, must always be set if the SEARCH_ENVELOPE_COORDINATE_SYSTEM directive is set.

If this directive is set, the minimum and maximum points of the search envelope are reprojected from the SEARCH_ENVELOPE_COORDINATE_SYSTEM to the reader COORDINATE_SYSTEM prior to applying the envelope.

Required/Optional

Optional

Mapping File Syntax

<ReaderKeyword>_SEARCH_ENVELOPE_COORDINATE_SYSTEM <coordinate system>

Workbench Parameter

Search Envelope Coordinate System

CLIP_TO_ENVELOPE

This directive specifies whether or not FME should clip features to the envelope specified in the SEARCH_ENVELOPE directive.

Values

YES | NO (default)

Mapping File Syntax

<ReaderKeyword>_CLIP_TO_ENVELOPE [yes | no]

Workbench Parameter

Clip To Envelope

EXPOSED_ATTRS

This directive allows the selection of format attributes to be explicitly added to the reader feature type.

This is similar to exposing format attributes on a reader feature type once it has been generated; however, it is even more powerful because it enables schema-driven applications other than Workbench to access and leverage these attributes as if they were explicitly on the schema as user attributes.

The result of picking a list of attributes is a comma-separated list of attribute names and types that will be added to the schema features. Currently all reader feature types will receive the same set of additional schema attributes for a given instance of the reader.

Required/Optional

Optional

Mapping File Syntax

Not applicable.

While it is possible for FME Objects applications to invoke this directive, the required format is not documented.

This directive is intended for use in our GUI applications (for example, Workbench) only.

Workbench Parameter

Additional Attributes to Expose