编辑代码

-- 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