TSTool / Command / NewObject
Overview
The NewObject
command creates a new "complex" object from
JavaScript Object Notation (JSON) text.
The object can be thought of as a dictionary of dictionaries,
where each object has a text name,
and a value that is text, a number, a dictionary, a list (array),
or other JSON types.
This representation works well for most data and is commonly used with software.
It is envisioned that in the future other object formats may be read and written,
such as XML and
YAML.
Internally, the open source Jackson library
is used to serialize and deserialize content.
Note that objects are not equivalent to TSTool properties, which are simple objects used by TSTool to manage workflow execution. The TSTool Results area has Objects and Properties tabs.
Common uses for objects are:
- hold GeoJSON data, which can be manipulated using commands like
SetObjectPropertiesFromTable
- hold data that are used to control a process or describe a dataset or product, such as configuration files for web content
- hold ad-hoc data that are not suitable for a database but are more complex than simple formats such as comma-separated-value
- as content for "no SQL" databases or relational databases that support JSON content
Characteristics of each object are as follows:
- has an identifier, which is used by TSTool to manage the objects
- has a JSON object that holds the data and is used for input and output
Command Editor
The following dialog is used to edit the command and illustrates the command syntax.
NewObject
Command Editor (see also the full-size image)
Command Syntax
The command syntax is as follows:
NewObject(Parameter="Value",...)
Command Parameters
Parameter | Description | Default |
---|---|---|
ObjectID required |
Identifier for the object – should be unique among objects that are defined. Can be specified using processor ${Property} . |
None – must be specified. |
InputFile |
JSON input file to read. | |
JSONText |
JSON text to use for object. This is currently not implemented until quotes and other characters are properly handled (TSTool wraps command parameters in double quotes). |
Examples
See the automated tests.
Troubleshooting
See Also
FreeObject
commandSetObjectPropertiesFromTable
command