如何在纯Lua中将JSON数据转换为XML,而不导入任何方法?

我需要将下面的 JSON 文本转换为 XML 表示形式,使用 Lua 语言进行转换,并且不能导入任何其他依赖或方法。Lua 代码应该是什么样子来完成这个转换?

<root>
    <RS>0</RS>
    <RSDESC>SUCESS GAMES AVAILABLE</RSDESC>
    <gamedata>
        <BetTypes>0,0,0</BetTypes>
        <BottomMessage>WELCOME</BottomMessage>
        <DrawCloseTime>57600</DrawCloseTime>
        <DrawDate>09\/17\/2015</DrawDate>
        <DrawID>26091715</DrawID>
        <DrawNo>109</DrawNo>
        <DrawTime>04:15 PM</DrawTime>
        <GameGroupID>1</GameGroupID>
        <LotName>BANK3 - 04:00 PM</LotName>
        <MRP>10000</MRP>
        <TktValidity>17\/10\/2015</TktValidity>
    </gamedata>
    <gamedata>
        <BetTypes>0,0,0</BetTypes>
        <BottomMessage>WELCOME</BottomMessage>
        <DrawCloseTime>75600</DrawCloseTime>
        <DrawDate>09\/17\/2015</DrawDate>
        <DrawID>27091715</DrawID>
        <DrawNo>109</DrawNo>
        <DrawTime>09:15 PM</DrawTime>
        <GameGroupID>1</GameGroupID>
        <LotName>BANK3 - 09:00 PM</LotName>
        <MRP>10000</MRP>
        <TktValidity>17\/10\/2015</TktValidity>
    </gamedata>
</root>
点赞
用户107090
用户107090

尝试一下。

J=[[
{"RS":"0","RSDESC":"SUCESS GAMES AVAILABLE","gamedata": [
    {"BetTypes":"0,0,0","BottomMessage":"WELCOME","DrawCloseTime":"57600","DrawDate":"09\/17\/2015","DrawID":"26091715","DrawNo":"109","DrawTime":"04:15 PM","GameGroupID":"1","LotName":"BANK3 - 04:00 PM","MRP":"10000","TktValidity":"17\/10\/2015"},
    {"BetTypes":"0,0,0","BottomMessage":"WELCOME","DrawCloseTime":"75600","DrawDate":"09\/17\/2015","DrawID":"27091715","DrawNo":"109","DrawTime":"09:15 PM","GameGroupID":"1","LotName":"BANK3 - 09:00 PM","MRP":"10000","TktValidity":"17\/10\/2015"}
    ]
}
]]

X=J:gsub('{','<ITEM>\n'):gsub('},?','</ITEM>\n')
X=X:gsub('"(%w-)"%s*:%s*(%b[])',
    function (k,v)
        return string.format("<%s>%s</%s>\n",k,v:sub(2,-2),k)
    end)
X=X:gsub('"(%w-)"%s*:%s*"(.-)",?',
    function (k,v)
        return string.format("<%s>%s</%s>\n",k,v,k)
    end)

print(X)

J的内容转化为xml格式,并用<ITEM></ITEM>包含了每一个对象。此外,用<key></key>包裹了所有的Key-Value对,值从字符串变成了xml格式。最后打印出结果。

2015-09-17 20:09:47