无法在 ROBLOX Lua 中解析 JSON

Posted

技术标签:

【中文标题】无法在 ROBLOX Lua 中解析 JSON【英文标题】:Can't parse JSON in ROBLOX Lua 【发布时间】:2021-05-15 19:15:37 【问题描述】:

如果调用它的玩家是 JSON 对象中的字符串,我正在制作一个运行另一个模块的模块脚本。

我收到此错误:

Can't parse JSON
-- Stack Begin
-- Script 'Model.MainModule', Line 8 - function load
-- Stack End

代码:

local module = 

function module.load(plr)
    local HttpService = game:GetService("HttpService")
    
    local decoded = HttpService:JSONDecode(' players: ["HiroTDM999", "mrhotmadm"] ')

    for i, v in pairs(decoded.players) do
        if v == plr.Name then
            require(6380716368).load() -- runs another module (no json in it)
        end
    end
end

return module

【问题讨论】:

@osekmedia 是的,谢谢。 大声笑很高兴。 是的,哈哈,我现在只需要弄清楚循环。 在循环中尝试 ipairs(decoded.players) 如果你不使用 i 你可以做类似for _, v in ipairs(decoded.players) do 【参考方案1】:

JSON 无效,需要将播放器用双引号括起来。

local module = 

function module.load(plr)
    local HttpService = game:GetService("HttpService")
    
    local decoded = HttpService:JSONDecode(' "players": ["HiroTDM999", "mrhotmadm"] ')

    for i, v in pairs(decoded.players) do
        if v == plr.Name then
            require(6380716368).load() -- runs another module (no json in it)
        end
    end
end

return module

【讨论】:

谢谢,将在 2 分钟内接受此答案。

以上是关于无法在 ROBLOX Lua 中解析 JSON的主要内容,如果未能解决你的问题,请参考以下文章

如何正确解析 JSON 表以用于 Value 函数?

【Lua】cjson解析null

在 Openresty 中使用 cjson Lua 模块解析缺少字段的 JSON

DIY 一个 JSON解析器。

如何制作基础系统? -- Roblox Lua

Roblox HttpPost