Module:GetJSON: Difference between revisions
From AlternateWiki
no edit summary
No edit summary |
No edit summary |
||
Line 3:
local m = {}
m.root = mw.loadJsonData(frame.args[1])
if m.root[frame.args[2]] ~= nil then▼
-- Function to split the key by "."
if type(m.root[frame.args[2]]) == "table" then▼
local function splitKey(key)
local keys = {}
for subkey in string.gmatch(key, "([^%.]+)") do
table.insert(keys, subkey)
end
return keys
end
-- Function to get the value from the nested table
local function getValueByKeys(root, keys)
local value = root
for _, key in ipairs(keys) do
if value[key] == nil then
return nil
end
value = value[key]
end
return value
end
local keys = splitKey(frame.args[2])
local value = getValueByKeys(m.root, keys)
local str = ""
for k,v in pairs(
str = str .. v .. ";"
end
return str
end
return
else
if frame.args[3] ~= nil then
Line 20 ⟶ 45:
end
end
return p
|