Extension::JsonToResultSet Method
Syntax
.ToResultSet as SQL::ResultSet (json as C [, tableInfo as P [, alias as C]])
Arguments
- json
Json content representing the table
- tableInfo
Optional Supplied Table Schema.
- alias
Alias name for table
Description
Create a result set from json and optional table info (schema).
Example
dim json_i as c = <<%json%
[
{"ID" : "1", "Company" : "Company A", "Last_Name" : "Bedecs", "First_Name" : "Anna"},
{"ID" : "2", "Company" : "Company B", "Last_Name" : "Gratacos Solsona", "First_Name" : "Antonio"},
{"ID" : "3", "Company" : "Company C", "Last_Name" : "Axen", "First_Name" : "Thomas"}
]
%json%
dim rs as sql::ResultSet
rs = extension::json::ToResultSet(json_i)
?rs.ToCSV(.t.)
ID,Company,Last_Name,First_Name
1,Company A,Bedecs,Anna
2,Company B,Gratacos Solsona,Antonio
3,Company C,Axen,ThomasSupply a Schema
If the structure is known ahead of time, the TableInfo can be supplied, this will gaurentee a specific order and will make sure that the columns are presented in the order specified.
dim json_i as c = <<%json%
[
{"ID" : "1", "Company" : "Company A", "Last_Name" : "Bedecs", "First_Name" : "Anna"},
{"ID" : "2", "Company" : "Company B", "Last_Name" : "Gratacos Solsona", "First_Name" : "Antonio"},
{"ID" : "3", "Company" : "Company C", "Last_Name" : "Axen", "First_Name" : "Thomas"}
]
%json%
dim rs as sql::ResultSet
dim ti as sql::TableInfo
dim idcol as sql::DataTypeInfo
idcol.name = "ID"
idcol.AlphaType = "N"
ti.AddColumn(idcol)
dim companyCol as sql::DataTypeInfo
companyCol.name = "First_Name"
companyCol.AlphaType = "C"
ti.AddColumn(companyCol)
dim fnameCol as sql::DataTypeInfo
fnameCol.name = "First_Name"
fnameCol.AlphaType = "C"
ti.AddColumn(fnameCol)
dim mnameCol as sql::DataTypeInfo
mnameCol.name = "Middle_Name"
mnameCol.AlphaType = "C"
ti.AddColumn(mnameCol)
dim lnameCol as sql::DataTypeInfo
lnameCol.name = "Last_Name"
lnameCol.AlphaType = "C"
ti.AddColumn(lnameCol)
res = extension::json::ToResultSet(json_i,ti)
?res.toJson()
[
{"ID" : "1", "First_Name" : "Anna", "Middle_Name" : "", "Last_Name" : "Bedecs"},
{"ID" : "2", "First_Name" : "Antonio", "Middle_Name" : "", "Last_Name" : "Gratacos Solsona"},
{"ID" : "3", "First_Name" : "Thomas", "Middle_Name" : "", "Last_Name" : "Axen"}
]