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

news2024/10/16 18:44:48

一、前言

项目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.coloradmin.cn/o/2216472.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信息与计算科学:“数学 + 计算机”,奏响未来科技新乐章

在当今科技飞速发展的时代,有一个专业如同一颗闪耀的新星,散发着独特的魅力,那就是信息与计算科学专业。 一、专业全貌:追根溯源,领略交叉之美 (一)专业的诞生与发展 1998 年,教育…

线上代码调试,使用Chorme的请求mock

前端页面上展示的数据有问题,第一反应肯定是要验证是不是接口返回的数据的问题 可以直接利用谷歌浏览器更改接口返回的返回值 如何使用谷歌浏览器mock请求 mock一个请求,我们首先需要打开浏览器的Network面板,找到请求后,点击鼠标…

【Python异常处理】详解Python中的异常捕获和处理!

【Python异常处理】详解Python中的异常捕获和处理! 在编写 Python 程序时,异常是不可避免的。无论是输入错误、资源不可用,还是其他逻辑问题,都会导致程序中断。为了编写更健壮的代码,理解并使用 Python 中的异常捕获…

解密1688详情 API 接口:获取与运用指南

1688(阿里巴巴中国站)作为国内领先的B2B电子商务平台,为企业提供商品批发、采购等业务。随着电子商务的快速发展,企业对于数据的需求日益增长。为了帮助企业更高效地获取商品信息,1688提供了丰富的API接口,…

华为eNSP实验:交换机流量控制之流量抑制

一、交换机流量控制之流量抑制 流量抑制是一种网络管理技术,用于防止过量的数据流通过网络设备,从而避免网络拥塞和性能下降。具体如下: 基本原理: 流量抑制通过设置特定的阈值来限制网络中的数据流量。当某个端口或接口的入站流…

第三课:python学习之安装pygame

首先确定自己的python已经将环境变量配置完成 第二步:敲击python命令看环境变量是否配置成功 第三步:敲击命令pip可以查看pip下有很多的命令,都有提示 第四步:我们开始安装pygame,我们使用pip install pygame命令进行安装 第五步…

【MySQL基础刷题】总结题型(二)

最多10题,再多不消化了 1.至少有5名直接下属的经理2.销售员3.订单最多的客户4.计算布尔表达式的值5.查询球队积分6.苹果和桔子7.两人之间的通话次数8.确认率9.各赛事的用户注册率 1.至少有5名直接下属的经理 注意左连接的使用 select e1.name from Employee e1 lef…

静态路由、动态路由以及默认路由

默写: ARP协议作用: 1.将ip地址转换为mac地址 2.检测ip地址是否有冲突(无故ARP,免费ARP) icmp协议: 检测主机双向连通性 tcp与udp的区别: tcp:面向连接,慢&#xf…

【测试基础篇1】一文搞懂软件测试基础知识,开启测试之路,走向测试人生巅峰

简介:一文搞懂软件测试,开启测试之路,走向测试人生。 一、软件测试的定义 维基百科定义: 软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其…

TypeScript数据类型限定(基本数据类型,void,数组,元组,枚举,any,unknown,never,函数,自定义数据类型,联合类型和交叉类型)

一、安装解析ts的工具包 node.js只认识js代码,不认识ts代码。 需要将ts代码转化为js,然后就可以在node.js中运行了。 安装步骤:打开终端,输入命令npm i -g typescript回车 typescript是用来解析ts的工具包。提供了tsc命令&…

Python 如何处理大规模数据库表的迁移与数据迁移的高效执行

Python 如何处理大规模数据库表的迁移与数据迁移的高效执行 引言 在现代应用开发中,随着业务需求的增长,数据库表结构和数据往往需要进行迁移和更新。迁移(Migration)是指对数据库表的结构、数据类型、索引、约束等进行修改或更新…

<Linux> 线程安全

目录 文章目录 一、Linux线程互斥 1. 进程线程间的互斥相关背景概念 2. 互斥量mutex 3. 互斥量接口 初始化互斥量 动静态分配 销毁互斥量 互斥量加锁 互斥量解锁 4. 互斥量实现原理 5. 简单封装互斥量 二、可重入与线程安全 1. 概念 1.1 可重入 1.2 线程安全 2. 常见的线程不…

记录Centos7 漫漫配置路

记录Centos7 漫漫配置路 一、 配置源二、 clinfo三、 PCL 配置1. 依赖2. eigen3. boost4. flann5. pcl 四、YAML-CPP五、 miniconda 安装 python3.6 和 pytorch六、libbot 配置1. 容易安装的依赖2. 需要源码安装的依赖3. [libbot](https://github.com/libbot2/libbot2) 简单地说…

幂律分布笔记

一、幂律分布的数据拟合 数据分箱: 所谓分箱就是对原始数据进行分组,然后对每一组内的数据进行平滑处理。常见的分箱方式主要有等深分箱、等宽分箱、用户自定义等 对数分箱: 对原数据进行分箱,第i个箱的宽度为bi,b…

【jQuery】jQuery基本操作(样式操作 内容操作 节点操作 属性操作 节点遍历)

文章目录 1、样式操作2、内容操作2-1 html()2-2 text()2-3 val() 3、节点操作3-1 创建3-2 插入3-3 删除3-4 替换3-5 复制 4、属性操作5、节点遍历6、DOM操作 DOM 操作分为三类: ​ DOM Core:任何一种支持DOM的编程语言都可以使用它,如getElem…

Go语言中的时间比较与时区处理

文章目录 问题背景问题分析验证时区问题 解决方案方法 1:使用本地时区解析时间方法 2:将 time.Now() 转换为 UTC 最终结果总结 在后端开发中,时间处理往往是不可避免的,尤其是涉及到跨时区的应用时,时区问题常常会引发…

基于yolov5的手机屏幕缺陷检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】

更多目标检测和图像分类识别项目可看我主页其他文章 功能演示: yolov5,手机屏幕缺陷检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】_哔哩哔哩_bilibili (一)简介 基于 YOLOv5 的手机屏幕缺陷检…

创建PV时报错:任务清单存在生产版本的不一致

创建PV时报错:任务清单存在生产版本的不一致。 输入的批量不一致。 批量改为一致99,999,999.000后,报错解决。

Window入侵排查思路-应急响应实战笔记

0x00 前言 当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系 统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措…

对接优惠折扣影票接口有什么好处?

对接电影票接口可以为开发者、商家和用户提供多种好处,以下是一些主要优势: 便捷性:用户可以直接在应用程序或网站上查询电影信息、选择座位和购票,无需离开平台即可完成整个购票流程。 提高用户粘性:为用户提供一站式…