环境: Fedora20_x64
相对于lua-cjson,还有另一个具有同样功能的json库,那就是lua-json,在Fedora下安装非常方便,执行"yum install lua-json"即可。
但是cjson是C语言实现的json库,不知道比lua-json强在哪里,这里直接说明下它的使用吧。
1. 下载lua-cjson,进入http://www.kyne.com.au/~mark/software/lua-cjson.php即可找到下载链接。
2. 安装
2.1 解压
2.2 打开Makefile,看看是否有需要修改的地方,我的整个安装过程整理如下:
#!/bin/bash
# change these:
# 1. LUA_VERSION = 5.2
# 2. PREFIX = /usr
# 3. LUA_CMODULE_DIR = /$(PREFIX)/lib64/lua/$(LUA_VERSION) # 适用于64位机器
make
make install
make install-extra # 这一步可省略
#!/usr/bin/lua
function walkTable(t, fun) -- 通过函数fun遍历表
local func = fun or pairs
for k, v in func(t) do
print(k, v)
end
end
function testCJson()
local json = require 'cjson'
local str = '["a", "b", "c"]' -- json格式的字符串
local j = json.decode(str) -- 解码为表
walkTable(j, ipairs)
str = '{"A": 1, "B": 2}'
j = json.decode(str)
--walkTable(j, pairs)
walkTable(j)
j['C'] = 'c'
local new_str = json.encode(j)
print(new_str)
end
testCJson()