使用luarocks安装cjson并使用cjson
1.luarocks安装
wget https://luarocks.org/releases/luarocks-3.3.1.tar.gz --no-check-certificatels -lrthtar -xvf luarocks-3.3.1.tar.gz mv luarocks-3.3.1 /usr/local/cd /usr/local/luarocks-3.3.1/./configure --prefix=/usr/local/luarocks-3.3.1 vim /etc/profilePATH=$PATH:/usr/local/luarocks-3.3.1/binsource /etc/profileluarocks --version[root@localhost bin]# luarocks --version
/usr/local/luarocks-3.3.1/bin/luarocks 3.3.1
LuaRocks main command-line interface
2.cjson安装
[root@localhost bin]# luarocks install lua-cjson
Installing https://luarocks.org/lua-cjson-2.1.0.10-1.src.rocklua-cjson 2.1.0.10-1 depends on lua >= 5.1 (5.1-1 provided by VM)
gcc -O2 -fPIC -I/usr/local/include/luajit-2.0 -c lua_cjson.c -o lua_cjson.o
gcc -O2 -fPIC -I/usr/local/include/luajit-2.0 -c strbuf.c -o strbuf.o
gcc -O2 -fPIC -I/usr/local/include/luajit-2.0 -c fpconv.c -o fpconv.o
gcc -shared -o cjson.so lua_cjson.o strbuf.o fpconv.o
No existing manifest. Attempting to rebuild...
lua-cjson 2.1.0.10-1 is now installed in /usr/local/luarocks-3.3.1/bin/./../lua_modules (license: MIT)/usr/local/luarocks-3.3.1/lua_modules
3.test-encode.lua
[root@localhost lua_modules]# more test-encode.lua
package.cpath = package.cpath .. ";/usr/local/luarocks-3.3.1/lua_modules/lib/lua/5.1/?.so"local cjson = require "cjson"
local cjson2 = cjson.new()
local lua_bool = true
print(cjson2.encode(lua_bool))local lua_array = {1, 2, 3, 4, 5, 6}
print(cjson2.encode(lua_array))local lua_number = 6.66
print(cjson2.encode(lua_number))local lua_string = "I am test1280"
print(cjson2.encode(lua_string))local lua_object = {["name"] = "Jiang",["age"] = 24,["addr"] = "BeiJing",["email"] = "1569989xxxx@126.com",["tel"] = "1569989xxxx"
}
print(cjson2.encode(lua_object))
[root@localhost lua_modules]# pwd
/usr/local/luarocks-3.3.1/lua_modules
[root@localhost lua_modules]# lua test-encode.lua
true
[1,2,3,4,5,6]
6.66
"I am test1280"
{"addr":"BeiJing","name":"Jiang","tel":"1569989xxxx","age":24,"email":"1569989xxxx@126.com"}
[root@localhost lua_modules]#
4.test-decode.lua
[root@localhost lua_modules]# more test-decode.lua
package.cpath = package.cpath .. ";/usr/local/luarocks-3.3.1/lua_modules/lib/lua/5.1/?.so"
local cjson = require "cjson"
local cjson2 = cjson.new()local json_bool = "false"
local lua_bool = cjson2.decode(json_bool)
print(type(lua_bool))local json_array = "[9, 8, 7, 6, 5, 4, 3, 2, 1]"
local lua_array = cjson2.decode(json_array)
print(type(lua_array))for k, v in ipairs(lua_array) doprint("k = " .. k .. ", v = "..v)
endlocal json_number = "666.666"
local lua_number = cjson2.decode(json_number)
print(type(lua_number))
print(lua_number)local json_string = "\"I am test1280\""
local lua_string = cjson2.decode(json_string)
print(type(lua_string))
print(lua_string)local json_object = "{\"name\":\"Jiang\",\"addr\":\"BeiJing\",\"age\":24,\"tel\":\"1569989xxxx\",\"email\":\"1569989xxxx@126.com\"}"
local lua_object = cjson2.decode(json_object)
print(type(lua_object))for k, v in pairs(lua_object) doprint("k = " .. k .. ", v = "..v)
end[root@localhost lua_modules]# lua test-decode.lua
boolean
table
k = 1, v = 9
k = 2, v = 8
k = 3, v = 7
k = 4, v = 6
k = 5, v = 5
k = 6, v = 4
k = 7, v = 3
k = 8, v = 2
k = 9, v = 1
number
666.666
string
I am test1280
table
k = addr, v = BeiJing
k = name, v = Jiang
k = tel, v = 1569989xxxx
k = age, v = 24
k = email, v = 1569989xxxx@126.com
相关文章:
使用luarocks安装cjson并使用cjson
1.luarocks安装 wget https://luarocks.org/releases/luarocks-3.3.1.tar.gz --no-check-certificatels -lrthtar -xvf luarocks-3.3.1.tar.gz mv luarocks-3.3.1 /usr/local/cd /usr/local/luarocks-3.3.1/./configure --prefix/usr/local/luarocks-3.3.1 vim /etc/profilePAT…...
【已解决】mac端 sourceTree 解决remote: HTTP Basic: Access denied报错
又是在一次使用sourcetree拉取或者提交代码时候,遇到了sourcetree报错; 排查了一会,比如查看了SSH keys是否有问题、是否与sourcetree账户状态有问题等等,最终才发现并解决问题 原因: 因为之前公司要求企业gitlab中…...
javaee dom4j读取xml文件
引入jar包 dom4j-1.6.1.jar 创建xml文件 <?xml version"1.0" encoding"UTF-8"?> <books><book id"1"><title ID"t1">背影</title><price>88</price><author>三毛</author>…...
各类背包问题
1、0-1背包问题 (1)用二维数组动态规划 #include<bits/stdc.h> using namespace std; int m,n; int w[50],c[50]; int dp[210][210]; int main() {cin>>m>>n;for(int i1;i<n;i){cin>>w[i]>>c[i];}for(int i1;i<n;…...
《练习100》91~95
题目91 # 自动生成字符串 # a [小马,小羊,小鹿] # b [草地上,电影院,家里] # c [看电影,听音乐,吃晚饭] # 随机生成三个0~2的数字,若是1,0,2 ,则输出: 小羊在草地上吃晚饭 import random a [小马,小羊,小鹿] b […...
3.6 Spring MVC文件上传
1. 文件上传到本地 实现方式 Spring MVC使用commons-fileupload实现文件上传,注意事项如下: l HTTP请求方法是POST。 l HTTP请求头的Content-Type是multipart/form-data。 SpringMVC配置 配置commons-fileupload插件的文件上传解析器CommonsMultip…...
# X11、Xlib、XFree86、Xorg、GTK、Qt、Gnome和KDE之间的关系
X11、Xlib、XFree86、Xorg、GTK、Qt、Gnome和KDE之间的关系 很多人对于他们是啥是傻傻分不清的,我做了个表格供大家参考。 摘抄: X11是X Window System Protocol, Version 11(RFC1013),是X server和X client之间的通…...
rknn3588如何查看npu使用情况
cat /sys/kernel/debug/rknpu/load在Linux中,你可以使用一些工具和命令来绘制某一进程的实时内存折线图。一个常用的工具是gnuplot,它可以用来绘制各种图表,包括折线图。 首先,你需要收集进程的实时内存数据。你可以使用pidstat命…...
“Can‘t open perl script configure : No such file or directory”的解决办法
编译OpenSSL的时候执行到 perl configure 时提示找不到configure, 然后在网上搜了搜,大家给的解决办法一般都是说设置环境变量或者指定configure路径再执行;我试了都不行, 最后我把perl卸了重装就正常了; 然后我换了…...
ChatGLM2-6B在windows下的部署
2023-08-10 ChatGLM2-6B在windows下的部署 一、部署环境 1、Windows 10 专业版, 64位,版本号:22H2,内存:32GB 2、已安装CUDA11.3 3、已安装Anaconda3 64bit版本 4、有显卡NVIDIA GeForce RTX 3060 Laptop GPU …...
nodejs+vue+elementui学生档案信息管理系统_06bg9
利用计算机网络的便利,开发一套基于nodejs的大学生信息管理系统,将会给人们的生活带来更多的便利,而且在经济效益上,也会有很大的便利!这可以节省大量的时间和金钱。学生信息管理系统是学校不可缺少的一个环节,其内容直…...
Nginx location
location块是nginx配置文件中,配置在http块中的server块中,匹配的是uri location匹配uri的方式 : 精确匹配: location /[ ...} 正则匹配: location - /{ ...} 一般匹配: location /{ ....} 匹配的规则: :精确匹…...
数据库字段命名导致的SQL报错
1.表设计 create table variables (id bigint not null comment 主键,business_key varchar(128) null comment 业务key,key varchar(128) null comment Map中的key,value varchar(255) null comment…...
【办公自动化】使用Python一键提取PDF中的表格到Excel
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...
【基础类】—原型链系统性知识
一、创建对象有几种方法 字面量创建对象 1-1. 什么是字面量 字面量就是所见即所,指的是常量;用来为变量赋值时的常数量 代码例子:123;‘ABC’, {name: ‘张三’}, undefined , true 生活例子:门店的招牌&a…...
ddia(3)----Chapter3. Storage and Retrieval
However, first we’ll start this chapter by talking about storage engines that are used in the kinds of databases that you’re probably familiar with: traditional relational databases, and also most so-called NoSQL databases. We will examine two families o…...
SpringBoot自定义拦截器interceptor使用详解
Spring Boot拦截器Intercepter详解 Intercepter是由Spring提供的Intercepter拦截器,主要应用在日志记录、权限校验等安全管理方便。 使用过程 1.创建自定义拦截器,实现HandlerInterceptor接口,并按照要求重写指定方法 HandlerInterceptor接口源码&am…...
AI抠图使用指南:Stable Diffusion WebUI Rembg实用技巧
抠图是图像处理工具的一项必备能力,可以用在重绘、重组、更换背景等场景。最近我一直在探索 Stable Diffusion WebUI 的各项能力,那么 SD WebUI 的抠图能力表现如何呢?这篇文章就给大家分享一下。 安装插件 作为一个生成式AI,SD…...
gitlab-Runner搭建
root wget https://packages.gitlab.com/runner/gitlab-runner/packages/fedora/29/gitlab-runner-12.6.0-1.x86_64.rpm/download.rpm rpm -ivh download.rpm ---- 安装 rpm -Uvh download.rpm -----更新升级 然后运行: gitlab-runner register --url https://git…...
【ChatGPT 指令大全】销售怎么借力ChatGPT提高效率
目录 销售演说 电话销售 产出潜在客户清单 销售领域计划 销售培训计划 总结 随着人工智能技术的不断进步,我们现在有机会利用ChatGPT这样的智能助手来改进我们的销售工作。在接下来的时间里,我将为大家介绍如何运用ChatGPT提高销售效率并取得更好的…...
如何用Stream-rec打造你的专属直播录制系统:多平台自动录制终极指南
如何用Stream-rec打造你的专属直播录制系统:多平台自动录制终极指南 【免费下载链接】stream-rec Automatic streaming record tool. Live stream and bullet comments recorder. 虎牙/抖音/斗鱼/Twitch/PandaTV/微博直播,弹幕自动录制 项目地址: http…...
从地震速度谱到层速度剖面:手把手教你用Dix公式搞定储层预测
从地震速度谱到层速度剖面:手把手教你用Dix公式搞定储层预测 地震勘探的核心在于揭示地下结构,而速度参数则是连接时间域与深度域的桥梁。想象一下,当你面对一片未知的地下区域,如何通过地震数据解读出岩性分布?层速度…...
高效GIF解码利器:gifuct-js如何重塑前端动态图像处理体验
高效GIF解码利器:gifuct-js如何重塑前端动态图像处理体验 【免费下载链接】gifuct-js Fastest javascript .GIF decoder/parser 项目地址: https://gitcode.com/gh_mirrors/gi/gifuct-js 你是否曾在前端项目中为GIF文件处理而烦恼?传统方案效率低…...
避坑指南:ESP32用MQTT连阿里云物联网平台,这些配置细节千万别搞错
ESP32连接阿里云物联网平台MQTT协议避坑实战手册 当ESP32遇上阿里云物联网平台,MQTT协议本该是设备与云端沟通的桥梁,但无数开发者却在配置环节屡屡碰壁。那些看似简单的参数填写背后,隐藏着许多容易忽视的技术细节。本文将带您深入解析ESP32…...
MPF102 vs 2SK241:实测对比在智能车信标导航应用中的选型指南
MPF102与2SK241深度实测:智能车信标导航中的JFET选型实战手册 在智能车竞赛的信标导航系统中,150kHz高频信号放大电路的设计往往成为决定胜负的关键。当我在去年指导团队时,曾连续72小时反复对比测试MPF102和2SK241这两款JFET,最终…...
iOS开发实战:用AV Foundation从零封装一个可复用的视频播放器组件(Swift版)
iOS开发实战:用AV Foundation从零封装可复用的视频播放器组件(Swift版) 在移动应用开发中,视频播放功能已成为许多App的标配需求。无论是社交平台的短视频浏览、教育类App的课程回放,还是电商平台的产品展示ÿ…...
别只盯着重试!深入理解RocketMQ的死信队列与消费堆积排查指南
别只盯着重试!深入理解RocketMQ的死信队列与消费堆积排查指南 凌晨三点,监控系统突然告警:核心业务的消息堆积量突破50万条。你打开控制台,发现死信队列正以每分钟上千条的速度增长——这不是简单的网络抖动,而是系统正…...
从CTFHub靶场实战出发:手把手教你用BurpSuite和Gopher协议玩转SSRF漏洞(附Payload生成)
从CTFHub靶场实战出发:手把手教你用BurpSuite和Gopher协议玩转SSRF漏洞 在网络安全领域,服务器端请求伪造(SSRF)一直是渗透测试中的高危漏洞类型。不同于常规漏洞,SSRF的特殊之处在于它能够将存在缺陷的Web服务器变成攻…...
解锁你的音乐自由:qmcdump 解码工具完全实战指南
解锁你的音乐自由:qmcdump 解码工具完全实战指南 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 你是否曾在…...
R语言决策树回归:非线性建模与实战指南
1. 决策树非线性回归的核心价值在数据分析领域,线性回归是最基础的建模方法,但现实世界的数据关系往往错综复杂。当自变量和因变量之间呈现明显的非线性关系时,传统线性模型就会显得力不从心。这正是决策树算法大显身手的地方——它能够自动捕…...
