OpenResty中cjson的两种方法
OpenResty
中的cjson
库可以完成JSON
数据的编码解码等工作。
cjson
有两个模块:cjson
和cjson.safe
,前者在解析失败后会抛出异常,而后者则返回nil
。
文档地址:https://github.com/openresty/lua-cjson
代码示例
编码
将table
序列化为字符串
local json = require "cjson.safe"json.encode({code = 0,msg = "请求成功"
})
输出json
{"code":0,"msg":"请求成功"
}
解码
将字符串转换为table
local json = require "cjson.safe"json.decode([[{"code":0,"msg":"请求成功"}]])
输出table
{code = 0,msg = "请求成功"
}
空table
encode_empty_table_as_object
:默认为true
,默认会将空的table
对象序列化为JSON
对象。
local json = require "cjson"json.encode({foo = "bar",some_object = {}
})
输出json
{"some_object": {},"foo": "bar"
}
JSON
数组
json.empty_array
:序列化空数组
local json = require "cjson"json.encode({foo = "bar",some_object = {},some_array = json.empty_array
})
输出json
{"some_object": {},"foo": "bar","some_array": []
}
其他方法
array_mt
:将table
序列化为JSON
数组empty_array_mt
:使json.encode()
(不传任何参数),序列化为JSON
数组decode_array_with_array_mt
:解码为一个数组encode_number_precision
:设置数字的精确度,最多16个字符encode_keep_ buffer
:复用缓存提高性能,默认是true
encode_max_depth
:编码的深度,默认是1000decode_max_depth
:解码的深度,默认是1000
OpenResty中cjson的两种方法相关推荐
- ML:模型训练/模型评估中常用的两种方法代码实现(留一法一次性切分训练和K折交叉验证训练)
ML:模型训练/模型评估中常用的两种方法代码实现(留一法一次性切分训练和K折交叉验证训练) 目录 模型训练评估中常用的两种方法代码实现 T1.留一法一次性切分训练 T2.K折交叉验证训 模型训练评估中 ...
- JSP中include的两种方法
一.JSP中include的两种方法 1.include指令: 1 <%@include file="文件的绝对路径或者相对路径"%> file属性是必填的(绝对或 ...
- Redis中持久化的两种方法详解
Redis提供了两种不同的持久化方法来将数据存储到硬盘里面.一种方法叫快照(snapshotting),它可以将存在于某一时刻的所有数据都写入硬盘里;另一种方法教只追加文件(append-only f ...
- MATLAB中代码优化的两种方法
MATLAB中的代码优化 MATLAB中的代码优化有两种重要的方法:预分配组和向量化循环. 我们举一个简单的例子来看,创建一个MATLAB函数来计算f(x) = sin(x / 100π): func ...
- 提取pdf文件中文字的两种方法
如今,在我们的工作与学习中已经不是单单使用word.Excel等格式文件了,pdf格式的文件已经被广泛地运用到我们的办公室中.大家都知道pdf文件是不可直接编辑与修改的,使用起来有些不便.那么当我们需 ...
- C++读取txt中数据的两种方法
有时候,在程序编写过程中涉及到数据的读写,比如读入.txt文档中的数字,本文提供两种读入方法. 一.利用数据流 比如.txt中数据是如下格式: 其中第一行代表有多少个二维数组,本例中是有3个二维数组, ...
- jsp中实现文件下载 两种方法
jsp中实现文件下载 转自:http://aguu125.iteye.com/blog/352314 (一) 最简单的方式是在网页上做超级链接,如:<a href=&qu ...
- 在C++中响铃的两种方法
第一种方法:printf("\a"); 第二种方法:char c=7;cout<<c; 注:在ASCII码表中响铃的字符编码是7. 响铃病毒: #include< ...
- 查找Chrome浏览器header中的user-Agent两种方法
user-Agent是浏览器搜索信息,可以用它来模拟浏览器进行浏览,从而进行爬取网页信息(爬虫) 第一种方法: 首先:F12或右键,检查网页元素 之后:NetWork--index--header-- ...
最新文章
- Qt Creator添加资源
- 可以打开md_热议MD有病!旭旭宝宝怒斥CG偷开“录像轮播”:人家不开还不行?...
- 阻塞队列(1)--ArrayBlockingQueue底层实现
- Android的Gson的使用方法,实现Json结构间相互转换
- Linux目录的基本说明
- 【全电发票】开票金额总额度发生了什么变化?
- 虽然有索引,但没有用上
- 使用命令批量修改文件的后缀名称
- CSS兼容IE6,IE7,FF的技巧(COPY来的,还没看)
- Python基础学习数值运算之内建函数
- 滑动返回-SwipeBackLayout
- Spark源码分析之cahce原理分析
- 关于单链表的几个问题
- 批量插入数据 C# SqlBulkCopy使用
- android shape 使用小结
- java的维护_天了噜,Java 8 要停止维护了!
- .Net6项目部署IIS步骤
- 各类识别、深度学习-开源代码文献梳理
- 1061 判断题 PTA
- 非线性光纤光学中分步傅里叶算法(SSFFT)的matlab代码实现