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をこれらの例で使用しましたが、cjsonRapidJSONのような他のライブラリも、プロジェクトのニーズに応じて適切な代替手段となることを覚えておいてください。