LUA解析json小demo

需要修改的json数据gui-config.json

{
	"configs": [{
		"server": "JP3.ISS.TF",
		"server_port": 443,
		"password": "58603228",
		"method": "aes-256-cfb",
		"remarks": ""
	},
	{
		"server": "US1.ISS.TF",
		"server_port": 443,
		"password": "37382928",
		"method": "aes-256-cfb",
		"remarks": ""
	},
	{
		"server": "HK2.ISS.TF",
		"server_port": 8989,
		"password": "59434206",
		"method": "aes-256-cfb",
		"remarks": ""
	}],
	"strategy": null,
	"index": 0,
	"global": false,
	"enabled": true,
	"shareOverLan": false,
	"isDefault": false,
	"localPort": 1080,
	"pacUrl": null,
	"useOnlinePac": false,
	"availabilityStatistics": false
}


LUA解析代码:

function FileRead()
	local file = io.open("gui-config.json", "r");
	local json = file:read("*a");
	file:close();
	return json;
end

function FileWrite()
	local file = io.open("gui-config.json", "w");
	file:close();
end

local cjson = require("cjson");
local file = FileRead();
local json = cjson.decode(file);
for i, w in ipairs(json.configs) do
	print("server: " .. w.password)
	print("server_port: " .. w.server_port)
	print("password: " .. w.password)
	print("method: " .. w.method .. '
')
end

输出:



Keep it simple!
作者:N3verL4nd
知识共享,欢迎转载。
原文地址:https://www.cnblogs.com/lgh1992314/p/5834724.html