DataModel Parameter (Connect-JSON Cmdlet)
Specifies the data model to use when parsing JSON documents and generating the database metadata.
Syntax
Connect-JSON -DataModel string
Possible Values
Document, FlattenedDocuments, RelationalData Type
cstr
Default Value
"Document"
Remarks
The cmdlet splits JSON documents into rows based on the objects nested in arrays. Select a DataModel configuration to configure how the cmdlet models nested object arrays into tables. See Parsing Hierarchical Data for examples of querying the data in the different configurations.
Selecting a Data Modeling Strategy
The following DataModel configurations are available. See Parsing Hierarchical Data for examples of querying the data in the different configurations.
-
Document
Returns a single table representing a row for each top-level object. In this data model, any nested object arrays will not be flattened and will be returned as aggregates. Unless an JSONPath value is explicitly specified, the cmdlet will identify and use the top-most object array found as the XPath.
-
FlattenedDocuments
Returns a single table representing a JOIN of the available documents in the file. In this data model, nested JSONPath values will act in the same manner as a SQL JOIN. Additionally, nested sibling JSONPath values (child paths at the same height), will be treated as a SQL CROSS JOIN. Unless explicitly specified, the cmdlet will identify the JSONPath values available by parsing the file and identifying the available documents, including nested documents.
-
Relational
Returns multiple tables, one for each JSONPath value specified. In this data model, any nested documents (object arrays) will be returned as relational tables that contain a primary key and a foreign key that links to the parent table. Unless explicitly specified, the cmdlet will identify the JSONPath values available by parsing the file and identifying the available documents (including nested documents).
See Also
- JSONPath: Explicitly set the paths to the documents you want to include.
- FlattenArrays and FlattenObjects: Customize the columns that will be identified for each of these data models. See Automatic Schema Discovery for examples of using these properties.
- Parsing Hierarchical Data: Compare the schemas resulting from different DataModel settings, with example queries.
- Modeling JSON Data: Learn about the data modeling and flattening techniques available in the cmdlet.
- Connecting to JSON Data Sources: Follow this configuration guide for an overview of the properties you need to connect.