📅  最后修改于: 2023-12-03 15:32:45.900000             🧑  作者: Mango
Lua JSON 是一个轻量级的 JSON 解析器,它可以在 Lua 程序中解析 JSON 字符串或 JSON 文件,并转换成 Lua 对象。
你可以通过 LuaRocks 安装 Lua JSON:
luarocks install lua-cjson
使用 Lua JSON 非常简单,只需要引入模块,然后调用 decode()
或 decode_file()
函数即可:
local json = require "cjson"
-- JSON 字符串解析
local data = '{"name": "Alice", "age": 25}'
local obj = json.decode(data)
-- JSON 文件解析
local obj = json.decode_file("data.json")
以下是解析 JSON 字符串的示例:
local json = require "cjson"
local data = '{"name": "Alice", "age": 25}'
local obj = json.decode(data)
-- 输出结果
print(obj.name) -- Alice
print(obj.age) -- 25
以下是解析 JSON 文件的示例:
local json = require "cjson"
local file = io.open("data.json", "r")
local data = file:read("*all")
file:close()
local obj = json.decode(data)
-- 输出结果
print(obj.name) -- Alice
print(obj.age) -- 25
Lua JSON 支持以下的 JSON 数据类型:
Lua JSON 还支持一些高级用法,例如自定义解析选项、自定义 Lua 对象与 JSON 字符串之间的转换、自定义错误处理等。
例如,如果你想将 Lua 表对象转换为 JSON 字符串,可以使用 encode()
函数:
local json = require "cjson"
local obj = {
name = "Alice",
age = 25,
}
local str = json.encode(obj)
-- 输出结果
print(str) -- {"name":"Alice","age":25}
详细的进阶用法请参考官方文档。