Json.decode functions differently in lua 5.4

Client - Canary
FXServer - 4478 & 4680

json.decode no longer accepts square brackets, unkeyed values or numbers as keys in lua 5.4

        [1] = '["one":1]',
        [2] = '{"one"}',
        [3] = '{1:"one"}',
        [4] = '{"one":1}'

In 5.4 1, 2 & 3 will return nil when being run through json.decode when I would expect them all to return tables

1, 2 and 3 example is not a valid JSON anyway. I don’t recommend anyone to rely on such behavior. Even if it worked before.

'LUA_RAPIDJSON_COMPAT', -- Require strict dkjson.lua compatibility (i.e., handle non-JSON compliant edge-cases

Was dropped for Lua5.4. Having to rewrite part of the rapidjson parser to handle these edge-cases was not something I am interested in keeping alive.

Understandable, I’ll just go and rewrite my brain a little, get rid of those pesky edge cases