当前位置: 首页 > news >正文

使用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

http://www.lryc.cn/news/119533.html

相关文章:

  • 【已解决】mac端 sourceTree 解决remote: HTTP Basic: Access denied报错
  • javaee dom4j读取xml文件
  • 各类背包问题
  • 《练习100》91~95
  • 3.6 Spring MVC文件上传
  • # X11、Xlib、XFree86、Xorg、GTK、Qt、Gnome和KDE之间的关系
  • rknn3588如何查看npu使用情况
  • “Can‘t open perl script configure : No such file or directory”的解决办法
  • ChatGLM2-6B在windows下的部署
  • nodejs+vue+elementui学生档案信息管理系统_06bg9
  • Nginx location
  • 数据库字段命名导致的SQL报错
  • 【办公自动化】使用Python一键提取PDF中的表格到Excel
  • 【基础类】—原型链系统性知识
  • ddia(3)----Chapter3. Storage and Retrieval
  • SpringBoot自定义拦截器interceptor使用详解
  • AI抠图使用指南:Stable Diffusion WebUI Rembg实用技巧
  • gitlab-Runner搭建
  • 【ChatGPT 指令大全】销售怎么借力ChatGPT提高效率
  • 计算机网络 网络层 路由 路由信息协议RIP
  • 【Spring】-Spring项目的创建
  • SQL | 使用通配符进行过滤
  • make: *** [Makefile:719: ext/openssl/openssl.lo] Error 1
  • Android Studio实现简单ListView
  • 【设计模式】模板模式
  • 配置docker和复现
  • Qt应用开发(基础篇)——工具箱 QToolBox
  • 地理测绘基础知识(1) 坐标系经纬度与ECEF直角坐标的基本换算
  • 【UE4 RTS】08-Setting up Game Clock
  • 百度chatgpt内测版