【问题标题】:bad argument #1 to 'for iterator' (table expected, got string)\'for iterator\' 的错误参数 #1(预期的表,得到的字符串)
【发布时间】:2023-01-04 09:36:58
【问题描述】:

有这样的数据

result = { 
    [1] = { ["identifier"] = MMK18495,["vehicles"] = {"vehN":"Caracara 4x4","vehM":"caracara2","totals":3},["id"] = 1,} ,
    [2] = { ["identifier"] = MMK18495,["vehicles"] = {"vehN":"Sandking SWB","vehM":"sandking2","totals":3},["id"] = 2,} ,
    [3] = { ["identifier"] = MMK18495,["vehicles"] = {"totals":5,"vehN":"Caracara 4x4","vehM":"caracara2"},["id"] = 3,} ,
    }

试图将这些数据排序到这样的菜单中

    for i=1, #result, 1 do
        local ownedcars = result[i].vehicles
        print(dump(ownedcars))
        for _,v in pairs(ownedcars) do  -- <- the error is here
            menu[#menu+1] = {
                header = " Model "..v.vehM.." Name "..v.vehN.." quantity"..v.totals,
                txt = "",
            }
        end
    end

拥有汽车的输出

{"vehN":"Caracara 4x4","vehM":"caracara2","totals":3}

但这是错误

【问题讨论】:

  • 那不是 Lua 表,看起来你有一个包含 json 结构的字符串
  • 这是 LUA 忘了菜单表,如何为每个 ID 排序车辆?因此,我希望收到以下文本。 id 1 车辆 vehM 总计 ``` vehM caracara2 - 总计 3 vehM sandking2 - 总计 3 vehM caracara2 - 总计 5 ```
  • 您需要解码 json 字符串。

标签: lua fivem


【解决方案1】:

正如其他人评论的那样,这不是 Lua 表。当输入 JSON 表时,Lua 将它们读取为字符串。您首先需要将给定的 JSON 字符串转换为 Lua。值得庆幸的是,其他人已经这样做了。我会将您推荐给this question,其中有解决此问题的答案。

一旦将 JSON 字符串转换为 Lua 表,就可以开始了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-26
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 2017-04-08
    相关资源
    最近更新 更多