Module:Json parameter test: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 3: | Line 3: | ||
function p.generateClassLists(frame) | function p.generateClassLists(frame) | ||
-- JSON-Daten in einem Lua-String | -- JSON-Daten in einem Lua-String | ||
local jsonData = frame:callParserFunction( '#visualdataquery:[[unique title::+]]', { '?articleid', schema = 'Data classes', format = 'json-raw' } ) | |||
-- Debug: Gib die empfangenen JSON-Daten aus | |||
mw.log("Received JSON Data: " .. tostring(jsonData)) | |||
-- Überprüfe, ob jsonData gültig ist | |||
if not jsonData or jsonData == '' then | |||
return "Keine JSON-Daten empfangen." | |||
end | |||
-- JSON-Daten in Lua-Tabelle umwandeln | |||
local success, json = pcall(mw.text.jsonDecode, jsonData) | |||
if not success then | |||
local json = mw.text.jsonDecode( | return "Fehler beim Dekodieren der JSON-Daten: " .. tostring(json) | ||
end | |||
local result = {} | local result = {} | ||
Revision as of 07:38, 27 May 2024
Documentation for this module may be created at Module:Json parameter test/doc
local p = {}
function p.generateClassLists(frame)
-- JSON-Daten in einem Lua-String
local jsonData = frame:callParserFunction( '#visualdataquery:[[unique title::+]]', { '?articleid', schema = 'Data classes', format = 'json-raw' } )
-- Debug: Gib die empfangenen JSON-Daten aus
mw.log("Received JSON Data: " .. tostring(jsonData))
-- Überprüfe, ob jsonData gültig ist
if not jsonData or jsonData == '' then
return "Keine JSON-Daten empfangen."
end
-- JSON-Daten in Lua-Tabelle umwandeln
local success, json = pcall(mw.text.jsonDecode, jsonData)
if not success then
return "Fehler beim Dekodieren der JSON-Daten: " .. tostring(json)
end
local result = {}
for _, item in ipairs(json) do
local title = item.data.title
local classNames = item.data["class names"]
table.insert(result, "== " .. title .. " ==")
table.insert(result, "* " .. table.concat(classNames, "\n* "))
end
return table.concat(result, "\n\n")
end
return p