-- JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。
local json = require('dkjson')
local jsonString = [[
{
"name": "John Doe",
"age": 30,
"address": {
"street": "123 Main St",
"city": "Anytown",
"state": "Anystate",
"zip": "12345"
},
"phoneNumbers": [
{ "type": "home", "number": "123-456-7890" },
{ "type": "work", "number": "098-765-4321" }
],
"hobbies": ["reading", "gaming", "traveling"],
"isMarried": false
}
]]
-- 解析 JSON 字符串
local data, pos, err = json.decode(jsonString, 1, nil)
if err then
print("解析错误: " .. err)
else
print("解析成功:")
print("姓名: " .. data.name)
print("年龄: " .. data.age)
print("地址: " .. data.address.street .. ", " .. data.address.city .. ", " .. data.address.state .. ", " .. data.address.zip)
for i, phone in ipairs(data.phoneNumbers) do
print("电话 " .. i .. ": " .. phone.type .. " - " .. phone.number)
end
print("爱好: " .. table.concat(data.hobbies, ", "))
print("已婚: " .. tostring(data.isMarried))
end