使用JSON数据进行数组初始化 - Lua

我想像 JSON 数据一样初始化我的数组值,但当我尝试时它并没有正确初始化,以下是我的代码

我的 JSON 值

[{"ShiftCode":"1","ShiftName":"BREAKFAST"},
 {"ShiftCode":"2","ShiftName":"LUNCH"},
 {"ShiftCode":"2","ShiftName":"LUNCH"},
 {"ShiftCode":"3","ShiftName":"DINNER"},
 {"ShiftCode":"3","ShiftName":"DINNER"}]

我尝试像下面这样

shiftArr={'[[[{"ShiftCode":"1","ShiftName":"BREAKFAST"},{"ShiftCode":"2","ShiftName":"LUNCH"},{"ShiftCode":"2","ShiftName":"LUNCH"},{"ShiftCode":"3","ShiftName":"DINNER"},{"ShiftCode":"3","ShiftName":"DINNER"}]]]'};

它没有起作用,我应该做什么改变?

点赞
用户107090
用户107090

我假设你想把 JSON 数据解析成 Lua 表格。如果是这样,请尝试使用以下代码:

J=[[
[{"ShiftCode":"1","ShiftName":"BREAKFAST"},
 {"ShiftCode":"2","ShiftName":"LUNCH"},
 {"ShiftCode":"2","ShiftName":"LUNCH"},
 {"ShiftCode":"3","ShiftName":"DINNER"},
 {"ShiftCode":"3","ShiftName":"DINNER"}]
]]

L={}
n=0
for t in J:gmatch("%b{}") do
    n=n+1
    L[n]={}
    for k,v in t:gmatch('"(.-)":"(.-)"') do
        L[n][k]=v
    end
end
2014-03-25 11:53:02