lua建造一个有序的json表

--制造一个有序的json格式 (io.writeJsonFile 没有顺序)
function writeOrderlyJsonFile(outPath, config)
	local keys = table.keys(config)
	table.sort(keys)

	local texts = {}
	table.insert(texts, "{")
	for _, path in pairs(keys) do
		table.insert(texts, '\n\t"'..path..'"')
		table.insert(texts, ":")

		local sub = config[path]
        --print("sub: ", table.tostring(sub))
        if next(sub) ~= nil then --有值
            table.insert(texts, " [")
            for _, subPath in ipairs(sub) do
                if subPath then
                    table.insert(texts, '\n\t\t"'..subPath..'"')
                    table.insert(texts, ",")
                end
            end
            table.remove(texts, #texts)  --删除最后一个","
    
            table.insert(texts, "\n\t]")
            table.insert(texts, ",")
        else --没有值,内容
            table.insert(texts, "{}")
            table.insert(texts, ",")
        end
	end
	table.remove(texts, #texts)  --删除最后一个","
	table.insert(texts, "\n}")

    --print(outPath)
	io.writeFile(outPath, table.concat(texts, ""))
end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值