json 数据格式与 lua

本文介绍JSON数据交换格式的基本概念与结构特点,并通过Lua语言提供实例代码演示JSON的编码与解码过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。

具体格式:

1、对象是一个无序的“‘名称/值’对”集合。

(1)一个对象以“{”(左括号)开始,“}”(右括号)结束。

(2)每个“名称”后跟一个“:”(冒号);

(3)“‘名称/值’ 对”之间使用“,”(逗号)分隔。

例子:

{
"姓名":"大憨",
"年龄":24
}

2、数组是值(value)的有序集合。

(1)一个数组以“[”(左中括号)开始,“]”(右中括号)结束。

(2)值之间使用“,”(逗号)分隔。

例子:

{
"学生":
[
{"姓名":"小明","年龄":23},
{"姓名":"大憨","年龄":24}
]
}


在线检测json格式: http://www.bejson.com/

测试代码:
require("json")
    local str = '{"ret":"2"}'
    
    local r = json.decode(str)
    for k, v in pairs(r) do
        CCLuaLog("k = "..tostring(k))
        CCLuaLog("v = "..tostring(v))
    end
    local xxx = {key = "zky"}
    local str = json.encode(xxx)
    CCLuaLog(str)

    local str = '{"name":"中国","province":[{"name":"黑龙江","cities":{"city":["哈尔滨","大庆"]}}]}'
    -- local str = '{"name":"中国","province":[{"name":"黑龙江","cities":{"city":["哈尔滨","大庆"]}},{"name":"广东","cities":{"city":["广州","深圳","珠海"]}},{"name":"台湾","cities":{"city":["台北","高雄"]}},{"name":"新疆","cities":{"city":["乌鲁木齐"]}}]}'
    
    local r = json.decode(str)
    local function log(r)
       for k, v in pairs(r) do
        CCLuaLog("k = "..tostring(k))
        CCLuaLog("v = "..tostring(v))
        if type(v) == "table" then
            log(v)
        end 
       end    
    end
    log(r)

    local str = json.encode(r)
    CCLuaLog(str)


测试结果:




json官网: http://www.json.org/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值