Array of tables can be expressed by using a header with a name in double brackets.
Signature
[[header]]
# First Table definition
[[header]]
# Second Table definition
[[header]]
# Third Table definition
The first instance of the header defines the array and its first table element, and each subsequent instance creates and defines a new table element in that array. T
For example, following snippet document array of employees.
arrayOfTables.toml
[[employees]]
firstName = "Krishna"
lastName = "G"
address.city= "Hyderabad"
address.country = "India"
[[employees]]
firstName = "Ram"
lastName = "Majety"
age = 34
[[employees]]
firstName = "Ram"
lastName = "Majety"
age = 34
address = {city = "Bangalore", "country" = "India"}
Above snippet is equivalent to following json document.
{
"employees": [
{
"firstName": "Krishna",
"lastName": "G",
"address": {
"city": "Hyderabad",
"country": "India"
}
},
{
"firstName": "Ram",
"lastName": "Majety",
"age": 34
},
{
"firstName": "Ram",
"lastName": "Majety",
"age": 34,
"address": {
"city": "Bangalore",
"country": "India"
}
}
]
}
Any reference to an array of tables points to the most recently defined table element of the array. This allows you to define sub-tables, and even sub-arrays of tables, inside the most recent table. Have a look at below example to get quick glance.
arrayOfTables2.toml
[[employees]]
firstName = "Krishna"
lastName = "G"
[[employees.workExperience]]
organization = "ABC Corp"
experience = 4.3
[[employees.workExperience]]
organization = "XYZ Corp"
experience = 1.8
[[employees.workExperience]]
organization = "Demo Corp"
experience = 10.8
[[employees]]
firstName = "Ram"
lastName = "Majety"
[[employees.addresses]]
city = "Bangalore"
country = "India"
street = "Chowdeswari"
isPermanentAddress = true
[[employees.workExperience]]
organization = "ACD Corp"
experience = 3.5
[[employees.workExperience]]
organization = "DEF Corp"
experience = 7.11
Above snippet is equivalent to following JSON document.
{
"employees": [
{
"firstName": "Krishna",
"lastName": "G",
"workExperience": [
{
"organization": "ABC Corp",
"experience": 4.3
},
{
"organization": "XYZ Corp",
"experience": 1.8
},
{
"organization": "Demo Corp",
"experience": 10.8
}
]
},
{
"firstName": "Ram",
"lastName": "Majety",
"addresses": [
{
"city": "Bangalore",
"country": "India",
"street": "Chowdeswari",
"isPermanentAddress": true
}
],
"workExperience": [
{
"organization": "ACD Corp",
"experience": 3.5
},
{
"organization": "DEF Corp",
"experience": 7.11
}
]
}
]
}
No comments:
Post a Comment