lua脚本使用cjson转换json时,空数组[]变成了空对象{}

server/2024/10/20 11:04:52/

一、前言

项目lua使用工具:cjson

问题:reids中部分数据的json key存在为[]的值,使用cjson进行解析的时候将原本空数组[]解析成了空对象{}

目标:原本[]  转 []

二、解决方案

在使用cjson类库时,先配置json转换要求

-- 设置json转换格式

cjson.encode_empty_table_as_object(false)

三、代码片段

local cjson = require ("cjson")

-- 设置json转换格式

cjson.encode_empty_table_as_object(false)

 

if ngx.null ~= rescontent then

  -- 不为空

  -- rescontentredis查出的json内容

   local status, json_body = pcall(cjson.decode, rescontent)

  if not status then

          --rescontent不是json,就返回rescontent本身

      else

      rescontent = json_body

  end

  core.rsp("0", "成功", "",{}, rescontent, "lua.rp")

  return

else

四、结果

        


http://www.ppmy.cn/server/133319.html

相关文章

树莓派刷入OpenWrt后扩容overlay的方法

问题: 128G的SD卡刷入openwrt后发现可用空间不足100M(我用的squashfs固件,ext4也存在同样的问题,但能否用此方法需要自己尝试一下)。 rootOpenWrt:~# df -h Filesystem Size Used Available Use%…

【描述性统计分析】

文章目录 一、描述性统计分析简介1. 定义和目的2. 与推断统计的对比 二、关键统计量1. 集中趋势的度量1.1 均值(Mean)1.2 中位数(Median)1.3 众数(Mode) 2. 离散程度的度量2.1 方差(Variance&am…

使用 JAX 进行 LLM 分布式监督微调

LLM distributed supervised fine-tuning with JAX — ROCm Blogs (amd.com) 24年1月25日,Douglas Jia 发布在AMD ROCm 博客上的文章。 在这篇文章中,我们回顾了使用 JAX 对基于双向编码器表示(BERT)的大型语言模型(LL…

cs61a涉及图像转换的代码注释(Lecture01)

这段代码的主要作用是计算图像的单应性矩阵,并使用该矩阵对图像进行透视变换。具体来说,它的功能包括: 1. **单应性矩阵估计**: - 使用给定的四对对应点(通常是从源图像和目标图像提取的特征点)&#x…

linux的随机化处理

Linux的随机化处理(或称为地址空间布局随机化,ASLR)是一种安全特性,旨在提高系统对抗攻击的能力,尤其是缓冲区溢出和代码注入攻击。随机化处理通过改变进程在内存中的布局来减少攻击者利用漏洞的可能性。 随机化处理的…

Qt优秀开源项目之二十四:EXCEL读写利器QXlsx

QXlsx是基于Qt5/Qt6的Excel文件(*.xlsx)的读写库。 github地址:https://github.com/QtExcel/QXlsx QXlsx既可以编译成库,也可以直接引用源码QXlsx-master\QXlsx\QXlsx.pri QXls提供了非常丰富的Examples,比如&#xff…

十四、行为型(观察者模式)

观察者模式(Observer Pattern) 概念 观察者模式(Observer Pattern)是一种行为型设计模式,它定义了对象间的一对多依赖关系,当被观察的对象(主题)状态发生改变时,所有依赖…

STM32—旋转编码器控制直流电机(标准库)

本文使用 KY-040旋转编码器 通过TC1508A电机驱动模块来控制直流电机正转和反转(Speed:0-100),代码部分基于标准库,使用定时器输出比较两个通道来控制PWM输出。 一、KY-040旋转编码器 下图为KY-040旋转编码器&#xf…