Lua:
JSONを活用する
どのようにして?
LuaにはJSON処理用の組み込みライブラリが含まれていません。そのため、dkjson
のような人気のあるサードパーティ製ライブラリを用いて、JSONのエンコードとデコードを簡単に行います。まず、LuaRocks(luarocks install dkjson
)を通じてdkjson
をインストールすることを確認してください。その後、以下の例に従ってください。
JSONをLuaテーブルへデコード
local dkjson = require "dkjson"
local jsonString = '{"name": "Luaプログラマー", "age": 30, "languages": ["Lua", "JavaScript"]}'
local luaTable, pos, err = dkjson.decode(jsonString, 1, nil)
if err then
print ("エラー:", err)
else
print("名前:", luaTable.name) -- 出力: 名前: Luaプログラマー
print("年齢:", luaTable.age) -- 出力: 年齢: 30
print("言語:", table.concat(luaTable.languages, ", ")) -- 出力: 言語: Lua, JavaScript
end
LuaテーブルをJSONへエンコード
local dkjson = require "dkjson"
local luaTable = {
name = "Luaプログラマー",
age = 30,
languages = { "Lua", "JavaScript" }
}
local jsonString = dkjson.encode(luaTable, { indent = true })
print(jsonString)
エンコーディングのサンプル出力:
{
"age": 30,
"languages": [
"Lua",
"JavaScript"
],
"name": "Luaプログラマー"
}
これらの簡単な例は、Luaアプリケーションを様々なWeb技術や外部APIと簡単に統合する方法を示しています。dkjson
をこれらの例で使用しましたが、cjson
やRapidJSON
のような他のライブラリも、プロジェクトのニーズに応じて適切な代替手段となることを覚えておいてください。