mac 下安装 lua5.3 + cjson

1.lua 5.3的安装

直接去官网下载

http://www.lua.org/ftp/lua-5.3.3.tar.gz

make macosx
sudo make install

2.CSJON

编译lua-cjson库,用的是云风fork后修改的支持lua53 integer64的库,传送门:lua-cjson库

https://github.com/cloudwu/lua-cjson

版本:Lua CJSON 2.1

Makefile的改动:

LUA_VERSION =       5.3  #注意你的lua版本,可以用lua -v看 取小数点后一位 我的版本是

Lua 5.3.1  Copyright (C) 1994-2013 Lua.org, PUC-Rio

PREFIX =            /usr/local  前缀路径,安装lua的时候用 make install 安装;可以cd /usr/local到该路径查看是否存在lua的相关库

原:CJSON_LDFLAGS =     -shared

改:CJSON_LDFLAGS =     -bundle -undefined dynamic_lookup

这里就是OSX和Unix的区别,bundle是Mac使用的文件格式,如果不使用这些选项,可能引起“multiple lua vms detected”错误

添加:

CJSON_CFLAGS +=     -DUSE_INTERNAL_FPCONV

CJSON_CFLAGS +=     -DIEEE_BIG_ENDIAN

CJSON_CFLAGS +=     -pthread -DMULTIPLE_THREADS

示例代码

解析JSON

local cjson = require "cjson"
local sampleJson = [[{"age":"23","testArray":{"array":[8,9,11,14,25]},"Himi":"himigame.com"}]];
--解析json字符串
local data = cjson.decode(sampleJson);
--打印json字符串中的age字段
print(data["age"]);
--打印数组中的第一个值(lua默认是从0开始计数)
print(data["testArray"]["array"][1]);   

编码JSON

local cjson = require "cjson"
local retTable = {};    --最终产生json的表
--顺序数值
local intDatas = {};
intDatas[1] = 100;
intDatas[2] = "100";
--数组
local aryDatas = {};
aryDatas[1] = {};
aryDatas[1]["键11"] = "值11";
aryDatas[1]["键12"] = "值12";
aryDatas[2] = {};
aryDatas[2]["键21"] = "值21";
aryDatas[2]["键22"] = "值22";
--对Table赋值
retTable["键1"] = "值1";
retTable[2] = 123;
retTable["int_datas"] = intDatas;
retTable["aryDatas"] = aryDatas;
--将表数据编码成json字符串
local jsonStr = cjson.encode(retTable);
print(jsonStr);
--结果是:{"int_datas":[100,"100"],"2":123,"键1":"值1","aryDatas":[{"键12":"值12","键11":"值11"},{"键21":"值21","键22":"值22"}]}
时间: 2024-08-13 18:40:45

mac 下安装 lua5.3 + cjson的相关文章

mac下安装mongoDB

方式一:命令行 MongoDB的安装有好多种安装方法,有普通青年的HomeBrew方式,也有文艺青年的源码编译方式.我只想快速的装起来用一下,所以我选最简单的HomeBrew. 请参考官方文档 : http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/ 更新Homebrew的package数据库,在Mac的终端中输入: $ brew update 然后耐心等待,这个没有任何显示,估计要几分钟,取决于网络的速度.然后就列出了

mac下安装配置java开发环境

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Helvetica; color: #000000 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Helvetica; color: #000000; min-height: 13.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #

Mac下安装LNMP(Nginx+PHP5.6)环境

Mac下安装LNMP(Nginx+PHP5.6)环境 安装Homebrew 最近工作环境切换到Mac,所以以OS X Yosemite(10.10.1)为例,记录一下从零开始安装Mac下LNMP环境的过程 确保系统已经安装xcode,然后使用一行命令安装依赖管理工具Homebrew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 之后就可以使用 brew

MAC 下安装 SVN

在mac下安装svn走了很多弯路,进过探索,现在对svn的安装做了总结,可以分为2种: 1.由于 xCode自带svn,所以可以安装xCode 1).打开App Store,搜索xCode,下载安装 打开 Launchpad>其他>终端,输入 svn --version 即可查看svn 版本 2.使用HomeBrew来安装SubVersions 1).安装HomeBrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercon

Mac下安装 MongoDB

Mac 下安装 MongoDB 一般有两种方法,一种是通过源码安装,一种是直接使用 homebrew ,个人推荐使用 homebrew ,简单粗暴. 1.安装 homebrew : /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2.使用 homebrew 安装 MongoDB : brew install mongodb 喝杯茶的功夫就

MAC下安装Brew[转]

MAC下安装Brew 1.安装XCode xcode-select --install 2.安装HomeBrew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 3.检查homebrew是否有冲突等 brew doctor 4.更新Brew sudo brew updatesudo brew upgrade 5.添加其它的源 brew tap homebr

在mac下安装了MySqL + MySQLWorkbench + PyCharm

今天在mac下安装了MySqL  +   MySQLWorkbench + PyCharm 安装这些东西没有在windows下熟悉. 在Mac下安装程序真的不是很适应,感觉很不爽!!!安装完成后还是蛮高兴,后面可以做自己要做的事情了. 通过查阅各种各样的资料,去安装这些东东.最后经过一番周折终于安装完成.下面是对安装过程和遇到的问题做个简单记录. 一.下载MySQL和MySQL Workbench http://dev.mysql.com/downloads/mysql/ 选择合适自己Mac 版

Mac下安装SVN插件javaHL not available的解决方法

在Mac下安装Eclipse插件svnEclipse插件后,每次打开Eclipse都会弹出如下弹出框: 提示你本机缺少JavaHL Library. 选择Eclipse→偏好设置(preference)→Team→SVN,可以看到SVN接口Client的定义如下: 这说明当前系统中缺少JavaHL,需要我们手动安装. subeclipse官网(http://subclipse.tigris.org/wiki/JavaHL 打开可能会非常慢)给出的介绍说有两种方式可以在Mac电脑上(OS X)上安

mac下安装vagrantBox

mac下安装vagrantBox 之前写随笔的时候,都是随便在本地写写,之后拷贝到网上,至于排版格式什么的,都没有处理,虽然只是自己做一个笔记用,但是偶尔也会有人看(??)但是最近我发现,一个不好的排版,是对阅读人的不尊重,我一直都是严格要求自己,所以这次也不例外,所以以后的文章都会用markdown的要求的格式去写. 好了废话补多少,先看今天的主题内容. 先说今天的目的:在mac上安装一个虚拟机,之后在虚拟机中安装环境,然后打包成box,之后就可以使用这个盒子来运行我们的环境,而不用每次在主机