首页 > 其他分享 >lua脚本使用cjson转换json时,空数组[]变成了空对象{}

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

时间:2024-10-15 16:21:08浏览次数:11  
标签:转换 cjson lua json -- rescontent

一、前言

项目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

  -- 不为空

  -- rescontent为redis查出的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

四、结果

        

标签:转换,cjson,lua,json,--,rescontent
From: https://blog.csdn.net/super_vegetable_bird/article/details/142957337

相关文章

  • 【QAMISRA】解决导入commands.json时报错问题
    1、文档目标解决导入commands.json时报错“Couldnotobtainsystem-wideincludesanddefines”的问题。2、问题场景客户导入commands.json时报错“Couldnotobtainsystem-wideincludesanddefines”。3、软硬件环境1、软件版本: QA-MISRA23.042、机器环境......
  • 使用 Lua 脚本批量获取制定目录下的所有 Redis 键的值
    /***使用Lua脚本批量获取Redis键的值**@paramprefixRedis中的键列表*@return键对应的值的列表*/public<E>List<E>getAllListValuesByPrefix(Stringprefix,Class<?>classType){//获取所有以给定前缀开头的键Set<String>keys=redisTempl......
  • js-将JSON 字符串转换为JavaScript 对象(JSON.parse)
    1.背景//JSON字符串constjsonString='{"name":"张三","age":30,"city":"北京"}';获取name值2.JSON字符串进行转换为JS对象将JSON字符串转换为JavaScript对象(JSON.parse(jsonString))//JSON字符串constjsonString='......
  • CSV、XML、JSON三种形式进行存储并读取
    下面是一个完整的Python示例代码,它可以生成简单的算式(加法、减法、乘法、除法),并将生成的算式和习题长期保存到CSV、XML和JSON三种格式中。代码包括生成算式的功能,以及将数据保存和读取的功能。1.代码实现pythonimportcsvimportjsonimportxml.etree.ElementTreeas......
  • golang从http请求中读取xml格式的body,并转成json
    推荐学习文档golang应用级os框架,欢迎stargolang应用级os框架使用案例,欢迎star案例:基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识,这里有免费的golang学习笔记专栏文章目录以下是在Go语言中从HTT......
  • vue中上传xlsx表格文件,并获取文件json数据【前端文件上传】
    import*asXLSXfrom"xlsx";onMounted(function(){document.getElementById('fileInput').addEventListener('change',function(){constfileObj=this.files[0]//console.log(fileObj)//......
  • 使用 Lua 进行基础图像识别
    Lua是一门轻量级的嵌入式编程语言,常用于游戏开发、嵌入式系统和快速原型设计。虽然Lua并不像Python那样有大量用于图像处理的库,但借助扩展库和C语言接口,Lua也能用于实现基础的图像识别任务。本文将介绍如何使用Lua实现图像识别中的基本步骤,包括图像加载、灰度转换和简......
  • Air201资产定位模组LuatOS:录音&播放录音功能的操作方法
    ​ 一直有小伙伴们问,迷你小巧的合宙Air201虽然有很多优点,超低功耗、精准定位,那么它是否支持录音、播放录音功能? 那必须能!高集成化设计的Air201自带了ES8311音频解码芯片(AudioCodec)及MIC麦克,可支持本地的录音功能;使用配套喇叭即可将录音保存的数据进行播放,操作极为方便。本......
  • H7-TOOL的LUA小程序教程第14期:任意波形信号发生器,0-20mA输出和微型数控电源(2024-10-1
    LUA脚本的好处是用户可以根据自己注册的一批API(当前TOOL已经提供了几百个函数供大家使用),实现各种小程序,不再限制Flash里面已经下载的程序,就跟手机安装APP差不多,所以在H7-TOOL里面被广泛使用,支持在线调试运行,支持离线运行。TOOL的LUA教程争取做到大家可以无痛调用各种功能函数,不需......
  • 使用Lua语言破解滑块验证码的完整流程解析
    本文将使用Lua语言来破解滑块验证码,带领大家一步步实现验证码破解,包括获取图片、计算滑块移动距离、生成滑动轨迹等。下载验证码图片首先,我们要获取滑块的前景图片和背景图片。使用Lua中的socket.http来进行HTTP请求并下载图片。lualocalhttp=require("socket.ht......