Difference between revisions of "Static data load"
Jump to navigation
Jump to search
Line 89: | Line 89: | ||
1996,Jeep,Grand Cherokee,"MUST SELL! | 1996,Jeep,Grand Cherokee,"MUST SELL! | ||
Lua code to read CSV example above | === Synchronous === | ||
Lua code to read CSV example above synchronously. | |||
<source lang="lua"> | |||
data = static_data_load("cars.csv") | |||
-- Print all cars | |||
for key,value in pairs(data) do | |||
print(value["Make"] .. " " .. value["Model"] .. " from " .. value["Year"] .. ", now only for " .. value["Price"] .. "!") | |||
end | |||
</source> | |||
=== Asynchronous === | |||
Lua code to read CSV example above asynchronously. | |||
<source lang="lua"> | <source lang="lua"> | ||
static_data_load("cars.csv", function(data) | static_data_load("cars.csv", function(data) |
Revision as of 16:14, 3 March 2019
Description
static_data_load(path, callback)
static_data_load is used to get load static data from a JSON, CSV or text file.
Return value
This function won't return any value.
Arguments
# | Argument | Type | Description |
---|---|---|---|
1 | path | String | The location of the static file inside the resource folder (*.csv, *.json or *.txt). |
2 | callback | Function | (Optional) Function is called when data has been loaded. Data argument contains the data, is nil on error. |
Example (JSON)
Example person.json file:
{
"firstName": "John",
"lastName": "Smith",
"age": 27,
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021-3100"
},
"phoneNumbers": [
"212 555-1234",
"646 555-4567",
"123 456-7890"
]
}
Synchronous
Lua code to read JSON example above synchronously.
data = static_data_load("person.json")
-- Print first name
print(data["firstName"])
-- Print street address
print(data["address"]["streetAddress"])
-- Print all phone numbers
for key,value in pairs(data["phoneNumbers"]) do
print(value)
end
Asynchronous
Lua code to read JSON example above asynchronously.
Lua code to read JSON example above
<source lang="lua">
static_data_load("person.json", function(data)
-- Print first name
print(data["firstName"])
-- Print street address
print(data["address"]["streetAddress"])
-- Print all phone numbers
for key,value in pairs(data["phoneNumbers"]) do
print(value)
end
end)
Example (CSV)
Example cars.csv file:
Year,Make,Model,Description,Price 1997,Ford,E350,"ac, abs, moon",3000.00 1999,Chevy,"Venture ""Extended Edition""","",4900.00 1999,Chevy,"Venture ""Extended Edition, Very Large""",,5000.00 1996,Jeep,Grand Cherokee,"MUST SELL!
Synchronous
Lua code to read CSV example above synchronously.
data = static_data_load("cars.csv")
-- Print all cars
for key,value in pairs(data) do
print(value["Make"] .. " " .. value["Model"] .. " from " .. value["Year"] .. ", now only for " .. value["Price"] .. "!")
end
Asynchronous
Lua code to read CSV example above asynchronously.
static_data_load("cars.csv", function(data)
-- Print all cars
for key,value in pairs(data) do
print(value["Make"] .. " " .. value["Model"] .. " from " .. value["Year"] .. ", now only for " .. value["Price"] .. "!")
end
end)
Example (Text)
Example cars.txt file:
Ford Chevy Jeep
Lua code to read Txt example above. Data will be split in lines. The new line character can be either \r\n (Windows) or \n (Unix).
static_data_load("cars.txt", function(data)
-- Print all cars
for key, value in pairs(data) do
print("line " .. key .. "has car: " .. value)
end
end)