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"}]}

mac 下安装 lua5.3 + cjson相关推荐

  1. Mac 下安装 ruby 环境解决 brew 安装 yarn 问题

    Mac 下安装 ruby 环境解决 brew 安装 yarn 问题 参考文章: (1)Mac 下安装 ruby 环境解决 brew 安装 yarn 问题 (2)https://www.cnblogs. ...

  2. 在Mac下安装使用OpenCV

    教导大家如何在Mac下安装使用OpenCV, 包括使用编译器,Xcode,和Eclipse的开发方法 系统环境:ML10.7.5  cmake版本:2.8.10 XCode版本:4.5.1  Open ...

  3. Mac下安装Mysql以及修改Mysql密码

    1.安装Mysql 安装有2种办法,一种是下载mysql安装文件,慢慢安装,另一种就是下载xmpp,里面自带mysql,就像是安装普通的mac软件一样,安装完毕,就有了mysql了. 方法一,官网下载 ...

  4. brew install php55redis,Mac下安装LNMP环境

    Mac下搭建lamp开发环境很容易,有xampp和mamp现成的集成环境.但是集成环境对于经常需要自定义一些配置的开发者来说会非常麻烦,而且Mac本身自带apache和php,在brew的帮助下非常容 ...

  5. mac下安装redis

    mac下安装redis redis的介绍这里就不多说了下面就直奔主题. 一 redis安装 首先,redis的默认端口为6379 下载mac版redis安装包,下载地址https://redis.io ...

  6. 在MAC下安装一些软件时提示来自身份不明开发者

    在MAC下安装一些软件时提示"来自身份不明开发者",其实这是MAC新系统启用了新的安全机制. 默认只信任 Mac App Store 下载的软件和拥有开发者 ID 签名的应用程序. ...

  7. Mac下安装和使用GunPG(GPG)

    GPG是加解密的工具,亦可以用于签名.非对称加解密.需要公钥和私钥. mac下安装:brew install gpg 使用gpg工具校验下载文件的完整性,从官网下载KEYS和asc文件:gpg --i ...

  8. 【高可用HA】Apache (2) —— Mac下安装多个Apache Tomcat实例

    Mac 下安装多个Apache Tomcat实例 tomcat版本:tomcat-8.0.29 参考来源: Installing Tomcat 7.0.x on OS X 在mac系统安装Apache ...

  9. 转:MAC 下安装PHONEGAP开发环境

    MAC 下安装PHONEGAP开发环境 什么是Phonegap呢?Phonegap是一个利用HTML5去开发App的框架.可以为安卓.iOS.WP.黑莓.火狐等移动操作系统.采用HTML5来编写交互界 ...

最新文章

  1. 行业软件和鸿蒙,华为鸿蒙负责人王成录:育人才,打造国产软件“根”能力
  2. 初探设计:Java继承何时用?怎么用?
  3. mongodb type
  4. 用户体验至上:40亿美金的ClickUp重新整合生产力工具
  5. mysql fulltext索引
  6. HashMap(摘)
  7. 放弃Eclipse Juno
  8. Vue2.0+ElementUI+PageHelper实现的表格分页
  9. python使用sqlalchemy判断数据库是否包含某张表
  10. 17 岁的程序员告诉你关于编程的 7 个重要教训!
  11. js foreach用法_36 个JS 面试题为你助力金九银十(面试必读)
  12. ArcGIS10.3 Desktop Server 安装教程 附下载地址
  13. 个体户查询_2019年最新修订小规模/一般纳税人?个体户的区别 附最新增值税率表...
  14. 如何快速分享CAD图纸?CAD图纸怎么加密?
  15. WPS宏不可用解决方法
  16. ABP文档笔记 - 通知
  17. 魔百盒CM201-2-YS代工-刷机固件及教程
  18. 假期小记 | 要一心一意搞事业
  19. 韩国WA15-6819B高性能DSP数字功放芯片
  20. 「解析」Matplotlib 绘制折线图

热门文章

  1. ppt 胡事民 计算机图形学_从相机标定到SLAM,极简三维视觉六小时课程视频(附PPT)...
  2. mysql column which is not functionally dependent GROUP BY clause
  3. [Ext JS 7]的开发模式
  4. Microsoft Loopback Adapter : Oracle 安装
  5. 注释 向 Java 代码中添加元数据
  6. mysql被跑死_MySQL 8.0.23中复制架构从节点自动故障转移
  7. 自定义springSecurity3.0 登录后自定义返回页面
  8. 西安外国语大学计算机基础,西安外国语大学教务处.PDF
  9. 前端发送的字符串有大小限制吗_前端经典面试题 30道
  10. 语法转换_近5年高考(2019- 2015年)语法填空词性转换使用真题汇编