Connecting to JSON Data Sources
After connecting to your data source, set DataModel to more closely match the data representation to the structure of your data.
Connecting to JSON
Below are example connection strings to JSON files or streams, using the driver's default data modeling configuration (see below)
Service provider | URI formats | Connection example |
Local | Single File Path (One table)
file://localPath/file.json Directory Path (One aggregated table from all files) file://localPath | URI=C:/folder1/file.json; |
HTTP or HTTPS | http://remoteStream
https://remoteStream | URI=http://www.host1.com/streamname1; |
Amazon S3 | Single File Path (One table)
s3://remotePath/file.json Directory Path (One aggregated table from all files) s3://remotePath | URI=s3://bucket1/folder1/file.json; AWSSecretKey=secret1; AWSRegion=OHIO; |
Azure Blob Storage | azureblob://mycontainer/myblob/ | URI=azureblob://mycontainer/myblob/; AzureStorageAccount=myAccount; AzureAccessKey=myKey;
URI=azureblob://mycontainer/myblob/; AzureStorageAccount=myAccount; AuthScheme=OAuth; |
Google Drive | Single File Path (One table)
gdrive://remotePath/file.json gdrive://SharedWithMe/remotePath/file.json Directory Path (One aggregated table from all files) gdrive://remotePath gdrive://SharedWithMe/remotePath | URI=gdrive://folder1/file.json; AuthScheme=OAuth;
URI=gdrive://SharedWithMe/folder1/file.json; AuthScheme=OAuth; |
OneDrive | Single File Path (One table)
onedrive://remotePath/file.json onedrive://SharedWithMe/remotePath/file.json Directory Path (One aggregated table from all files) onedrive://remotePath onedrive://SharedWithMe/remotePath | URI=onedrive://folder1/file.json; AuthScheme=OAuth;
URI=onedrive://SharedWithMe/folder1/file.json; AuthScheme=OAuth; |
Box | Single File Path (One table)
box://remotePath/file.json Directory Path (One aggregated table from all files) box://remotePath | URI=box://folder1/file.json; AuthScheme=OAuth; |
Dropbox | Single File Path (One table)
dropbox://remotePath/file.json Directory Path (One aggregated table from all files) dropbox://remotePath | URI=dropbox://folder1/file.json; AuthScheme=OAuth; OAuthClientId=oauthclientid1; OAuthClientSecret=oauthcliensecret1; CallbackUrl=http://localhost:12345; |
SharePoint SOAP | Single File Path (One table)
sp://remotePath/file.json Directory Path (One aggregated table from all files) sp://remotePath | URI=sp://Documents/folder1/file.json; User=user1; Password=password1; StorageBaseURL=https://subdomain.sharepoint.com; |
SharePoint REST | Single File Path (One table)
sprest://remotePath/file.json Directory Path (One aggregated table from all files) sprest://remotePath | URI=sprest://Documents/folder1/file.json; AuthScheme=OAuth; StorageBaseURL=https://subdomain.sharepoint.com; |
FTP or FTPS | Single File Path (One table)
ftp://server:port/remotePath/file.json ftps://server:port/remotepath/file.json Directory Path (One aggregated table from all files) ftp://server:port/remotePath ftps://server:port/remotepath; | URI=ftps://localhost:990/folder1/file.json; User=user1; Password=password1; |
SFTP | Single File Path (One table)
sftp://server:port/remotePath/file.json Directory Path (One aggregated table from all files) sftp://server:port/remotePath | URI=sftp://127.0.0.1:22/folder1/file.json User=user1; Password=password1;
URI=sftp://127.0.0.1:22/folder1/file.json SSHAuthmode=PublicKey; SSHClientCert=myPrivateKey |
Azure Data Lake Store Gen1 | adl://remotePath/file.json
adl://Account.azuredatalakestore.net@remotePath/file.json | URI=adl://folder1/file.json; AuthScheme=OAuth; AzureStorageAccount=myAccount; AzureTenant=tenant;
URI=adl://myAccount.azuredatalakestore.net@folder1/file.json; AuthScheme=OAuth; AzureTenant=tenant; |
AzureDataLakeStoreGen2 | abfs://myfilesystem/remotePath/file.json
abfs://[email protected]/remotepath/file.json
| URI=abfs://myfilesystem/folder1/file.json; AzureStorageAccount=myAccount; AzureAccessKey=myKey;
URI=abfs://[email protected]/folder1/file.json; AzureAccessKey=myKey; |
AzureDataLakeStoreGen2 with SSL | abfss://myfilesystem/remotePath/file.json
abfss://[email protected]/remotepath/file.json
| URI=abfss://myfilesystem/folder1/file.json; AzureStorageAccount=myAccount; AzureAccessKey=myKey;
URI=abfss://[email protected]/folder1/file.json; AzureAccessKey=myKey; |
Wasabi | Single File Path (One table)
wasabi://bucket1/remotePath/file.json Directory Path (One aggregated table from all files) wasabi://bucket1/remotePath | URI=wasabi://bucket/folder1/file.json; AccessKey=token1; SecretKey=secret1; Region='us-west-1'; |
Google Cloud Storage | Single File Path (One table)
gs://bucket/remotePath/file.json Directory Path (One aggregated table from all files) gs://bucket/remotePath | URI=gs://bucket/folder1/file.json; AuthScheme=OAuth; ProjectId=test; |
Oracle Cloud Storage | Single File Path (One table)
os://bucket/remotePath/file.json Directory Path (One aggregated table from all files) os://bucket/remotePath | URI=os://bucket/folder1/file.json; AccessKey='myKey'; SecretKey='mySecretKey'; OracleNameSpace='myNameSpace' Region='us-west-1'; |
Azure File | Single File Path (One table)
azurefile://fileShare/remotePath/file.json Directory Path (One aggregated table from all files) azurefile://fileShare/remotePath | URI=azurefile://bucket/folder1/file.json; AzureStorageAccount='myAccount'; AzureAccessKey='mySecretKey';
URI=azurefile://bucket/folder1/file.json; AzureStorageAccount='myAccount'; AzureSharedAccessSignature='mySharedAccessSignature'; |
IBM Object Storage Source | Single File Path (One table)
ibmobjectstorage://bucket1/remotePath/file.json Directory Path (One aggregated table from all files) ibmobjectstorage://bucket1/remotePath | URI=ibmobjectstorage://bucket/folder1/file.json; AuthScheme='HMAC'; AccessKey=token1; SecretKey=secret1; Region='eu-gb';
URI=ibmobjectstorage://bucket/folder1/file.json; ApiKey=key1; Region='eu-gb'; AuthScheme=OAuth; InitiateOAuth=GETANDREFRESH; |
Hadoop Distributed File System | Single File Path (One table)
webhdfs://host:port/remotePath/file.json Directory Path (One aggregated table from all files) webhdfs://host:port/remotePath | URI=webhdfs://host:port/folder1/file.json |
Secure Hadoop Distributed File System | Single File Path (One table)
webhdfss://host:port/remotePath/file.json Directory Path (One aggregated table from all files) webhdfss://host:port/remotePath | URI=webhdfss://host:port/folder1/file.json |
Modeling JSON Data
The DataModel property controls how your data is represented into tables.
- Document (default): Model a top-level, document view of your JSON data. The driver returns nested object arrays as aggregated JSON objects.
- FlattenedDocuments: Implicitly join nested array objects and parent objects into a single table.
- Relational: View nested object arrays as individual, related tables containing a primary key and a foreign key that links to the parent document.
Next Steps
- See Parsing Hierarchical Data for examples showing how to query a dataset in each DataModel configuration.
- See Modeling JSON Data for information on customizing schema discovery and how to execute SQL to JSON.
- See Fine-Tuning Data Access for more advanced connection settings: fine-tune the default data modeling settings, connect through a firewall, or troubleshoot connections.