Content deleted Content added
→JSON: Reply |
→JSON: Reply |
||
(One intermediate revision by one other user not shown) | |||
Line 18:
::{{ping|MSGJ}} I've decided to give this a crack in the sandbox. The module will attempt to load the page as if it was a module page by default, and if this doesn't work, it'll instead try to load it as a Json page. If neither of these works, it throws an error like current functionallity (yet worded to mean something a bit more specific for this case). I don't imagine this pcall logic will cause any overhead (and could even maybe be made smart by checking if the input is in the Module namespace before even bothering trying to do loadData). You can see a test of it [[Special:Permalink/1178703748|here]]. Does this seem fine? [[User:Aidan9382|Aidan9382]] <sub>([[User talk:Aidan9382|talk]])</sub> 09:51, 5 October 2023 (UTC)
:::Thanks Aidan! Can you see why [[Module talk:Data/testcases]] is not working? To get this working in [[Module:Women in Green event]] I had to use <code>tonumber</code> to convert the 1 to a number. (I don't understand why because I used "1" in the JSON file, which should be a string.) It seems this module can only handle keys which are strings. — Martin <small>([[User:MSGJ|MSGJ]] · [[User talk:MSGJ|talk]])</small> 11:23, 5 October 2023 (UTC)
::::The issue here is that the JSON loader is probably automatically converting these to number keys for whatever reason. I've fixed it in this module by going for the numbered key if and only if it has a tonumber evaluation and the string key returns nil, which fixes your testcase. [[User:Aidan9382|Aidan9382]] <sub>([[User talk:Aidan9382|talk]])</sub> 11:50, 5 October 2023 (UTC)
:::::Thanks, that looks good — Martin <small>([[User:MSGJ|MSGJ]] · [[User talk:MSGJ|talk]])</small> 12:01, 5 October 2023 (UTC)
|