1. 程式人生 > >Lua 使用cjson解析json資料(Mac環境)

Lua 使用cjson解析json資料(Mac環境)

  1. 解壓

    tar -zvxf lua-cjson-2.1.0.tar.gz

  2. 安裝

    make
    make install

    在執行 make 前,需要修改Makefile裡面的部分內容。

    需要注意的是:cjson有對lua所使用的版本有要求,需要使用 lua 5.1 / lua 5.2 版本,或者使用luajit對cjson進行生成。

    Makefile 修改內容:

    # 當前你所使用的lua版本 可以通過lua -v 獲取lua版本號
    LUA_VERSION = 5.1
    # 這個網上基本是說到,所使用的平臺的關係
    CJSON_LDFLAGS = -bundle -undefined dynamic_lookup
    # 修改這兩個位置的配置,在本機測試成功。不過其他部落格還有對其他位置的修改
    # 之前測試並沒有成功,可能是自己當時配置有問題

  3. cjson使用

local cjson = require "cjson"

local testJson = [[{"count":"3","testArray":{"array":["H","E","L"]},"Hello":"World"}]]
--解析json字串
local data = cjson.decode(testJson)
--列印json字串中的欄位
print(data["count"])
print(data["Hello"])
--列印陣列中的第一個值(lua預設是從1開始計數)
print(data["testArray"]["array"][1])

使用luajit安裝cjson,對luajit安裝過程不再贅述,按照官網上的過程即可。

luajit下載連結
Makefile 修改內容

LUA_INCLUDE_DIR =   $(PREFIX)/include/luajit-2.0
# 拷貝cjson檔案到/usr/local/lib/lua/5.1下
cp cjson.so /usr/local/lib/lua/5.1/

至此兩種安裝cjson的方法介紹完成,以上內容如有不正之處,望指正。

Shanghai - YR - 2017年01月05日