Add LuaJIT converter scripts between JSON and YAML
This commit is contained in:
parent
352f7756d6
commit
ee011355f2
2 changed files with 42 additions and 0 deletions
21
bin/json2yaml
Executable file
21
bin/json2yaml
Executable file
|
@ -0,0 +1,21 @@
|
||||||
|
#!/usr/bin/env luajit
|
||||||
|
|
||||||
|
local json = require 'cjson'
|
||||||
|
local yaml = require 'lyaml'
|
||||||
|
|
||||||
|
local document = json.decode(io.read('*a'))
|
||||||
|
|
||||||
|
local function replace(document)
|
||||||
|
for key, value in pairs(document) do
|
||||||
|
if value == json.null then
|
||||||
|
document[key] = yaml.null
|
||||||
|
elseif type(value) == 'table' then
|
||||||
|
replace(value)
|
||||||
|
elseif type(value) == 'userdata' then
|
||||||
|
document[key] = '<USERDATA>'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return document
|
||||||
|
end
|
||||||
|
|
||||||
|
print(yaml.dump({replace(document)}))
|
21
bin/yaml2json
Executable file
21
bin/yaml2json
Executable file
|
@ -0,0 +1,21 @@
|
||||||
|
#!/usr/bin/env luajit
|
||||||
|
|
||||||
|
local json = require 'cjson'
|
||||||
|
local yaml = require 'lyaml'
|
||||||
|
|
||||||
|
local document = yaml.load(io.read('*a'))
|
||||||
|
|
||||||
|
local function replace(document)
|
||||||
|
for key, value in pairs(document) do
|
||||||
|
if value == yaml.null then
|
||||||
|
document[key] = json.null
|
||||||
|
elseif type(value) == 'table' then
|
||||||
|
replace(value)
|
||||||
|
elseif type(value) == 'userdata' then
|
||||||
|
document[key] = '<USERDATA>'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return document
|
||||||
|
end
|
||||||
|
|
||||||
|
print(json.encode(replace(document)))
|
Loading…
Reference in a new issue