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 .. '\n')
end

输出:



posted @ 2016-01-15 12:01  N3verL4nd  阅读(4387)  评论(0编辑  收藏  举报