博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lua利用cjson读写json
阅读量:6637 次
发布时间:2019-06-25

本文共 1155 字,大约阅读时间需要 3 分钟。

前言

本文结合本人的实际使用经验和代码示例,介绍如何在Lua中对json进行encode和decode。我这里采用的是Lua CJson库,是一个高性能的JSON解析器和编码器,其性能比纯Lua库要高10~20倍。并且Lua Json完全支持UTF-8,无需以来其他非Lua/LuaJit相关包。

环境安装

这里就不详细写了,随便问下谷歌就有一大堆答案。

示例代码

解析JSON

local cjson = require "cjson"local sampleJson = [[{"age":"23","testArray":{"array":[8,9,11,14,25]},"Himi":"himigame.com"}]];--解析json字符串local data = cjson.decode(sampleJson);--打印json字符串中的age字段print(data["age"]);--打印数组中的第一个值(lua默认是从0开始计数)print(data["testArray"]["array"][1]);

编码JSON

local cjson = require "cjson"local retTable = {};    --最终产生json的表--顺序数值local intDatas = {};intDatas[1] = 100;intDatas[2] = "100";--数组local aryDatas = {};aryDatas[1] = {};aryDatas[1]["键11"] = "值11";aryDatas[1]["键12"] = "值12";aryDatas[2] = {};aryDatas[2]["键21"] = "值21";aryDatas[2]["键22"] = "值22";--对Table赋值retTable["键1"] = "值1";retTable[2] = 123;retTable["int_datas"] = intDatas;retTable["aryDatas"] = aryDatas;--将表数据编码成json字符串local jsonStr = cjson.encode(retTable);print(jsonStr);--结果是:{"int_datas":[100,"100"],"2":123,"键1":"值1","aryDatas":[{"键12":"值12","键11":"值11"},{"键21":"值21","键22":"值22"}]}

写在最后

以上只是对于cjson库的简单应用示例,如有任何问题请及时给我留言。

转载于:https://www.cnblogs.com/sanghg/p/4114469.html

你可能感兴趣的文章
Dos命令查看端口占用及关闭进程
查看>>
刀片之家礼品兑换帮助
查看>>
登陆脚本实现域用户自动创建共享盘和关联打印机
查看>>
Linq in action
查看>>
Zatree2.2安装
查看>>
blockchain.info API中文手册
查看>>
Centos 7.3搭建git服务器
查看>>
下载的实现
查看>>
LVS配置文件详解及相关技巧介绍
查看>>
Windows 8 远程桌面连接 另一个Windowd 8 提示“您的凭据不工作”
查看>>
织梦DEDECMS修改摘要、标题等字数限制
查看>>
K/3 MRP运算数据不准的原因及解决方案
查看>>
Kali Linux ***测试之拒绝服务***及防御
查看>>
我的友情链接
查看>>
宽心决
查看>>
MFC 多线程及线程同步
查看>>
kafka 随记
查看>>
我的友情链接
查看>>
导航栏右边按钮(纯图片)
查看>>
nginx的proxy相关配置
查看>>