Lua:
การทำงานกับ JSON

วิธีการ:

Lua ไม่มีไลบรารีในตัวสำหรับการจัดการ JSON ดังนั้นหนึ่งในไลบรารีของบุคคลที่สามที่นิยมคือ dkjson ซึ่งคุณสามารถใช้สำหรับการเข้ารหัสและถอดรหัส JSON ได้อย่างง่ายดาย ก่อนอื่น ต้องแน่ใจว่าได้ติดตั้ง dkjson เช่น ผ่าน LuaRocks (luarocks install dkjson) แล้วทำตามตัวอย่างด้านล่าง

การถอดรหัส JSON เป็นตาราง Lua

local dkjson = require "dkjson"

local jsonString = '{"name": "Lua Programmer", "age": 30, "languages": ["Lua", "JavaScript"]}'
local luaTable, pos, err = dkjson.decode(jsonString, 1, nil)
if err then
  print ("Error:", err)
else
  print("Name:", luaTable.name) -- ผลลัพธ์: Name: Lua Programmer
  print("Age:", luaTable.age) -- ผลลัพธ์: Age: 30
  print("Languages:", table.concat(luaTable.languages, ", ")) -- ผลลัพธ์: Languages: Lua, JavaScript
end

การเข้ารหัสตาราง Lua เป็น JSON

local dkjson = require "dkjson"

local luaTable = {
  name = "Lua Programmer",
  age = 30,
  languages = { "Lua", "JavaScript" }
}

local jsonString = dkjson.encode(luaTable, { indent = true })
print(jsonString)

ตัวอย่างผลลัพธ์สำหรับการเข้ารหัส:

{
  "age": 30,
  "languages": [
    "Lua",
    "JavaScript"
  ],
  "name": "Lua Programmer"
}

ตัวอย่างเหล่านี้แสดงวิธีการทำงานกับ JSON ใน Lua ทำให้การรวมแอพพลิเคชัน Lua กับเทคโนโลยีเว็บและ API ภายนอกต่าง ๆ ง่ายขึ้น จำไว้ว่า แม้ dkjson จะถูกใช้ในตัวอย่างเหล่านี้ แต่ไลบรารีอื่นๆ เช่น cjson และ RapidJSON ก็สามารถเป็นทางเลือกที่เหมาะสมได้เช่นกัน ขึ้นอยู่กับความต้องการของโปรเจ็คของคุณ