aboutsummaryrefslogtreecommitdiff
path: root/tests/lua2json.lua
blob: 3efd4af85153ae83b4224b0497acc3264380a34a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/env lua

-- usage: lua2json.lua [lua_file]
--
-- Eg:
-- echo '{ "testing" }' | ./lua2json.lua
-- ./lua2json.lua lua_data.lua

local json = require "cjson"
local misc = require "cjson-misc"

function get_lua_table(file)
	local func = loadstring("data = " .. misc.file_load(file))
	if func == nil then
		error("Invalid syntax? Lua table required.")
	end

	local env = {}
	func = setfenv(func, env)
	func()

	return env.data
end

local t = get_lua_table(arg[1])
print(json.encode(t))

-- vi:ai et sw=4 ts=4: