LoginSignup
0
0

【Lua】lua-cjson で空配列を扱う

Last updated at Posted at 2023-12-12

Lua では「配列」「オブジェクト」どちらも table として実装されており、空テーブル {} はどちらなのかわかりません。

lua-cjson を使ってテーブルを JSON にするとき、これをなんとか区別したくなります。

空テーブルは空配列だったことにする

cjson.encode_empty_table_as_object(true)

この設定を使うと空テーブルが空配列として扱えます。簡単ですが、空オブジェクトであってほしいときも空配列になります。

encode 時、空なら空配列にエンコードされるようにする

local arr = {}
setmetatable(arr, cjson.empty_array_mt)

配列とわかっているものにメタテーブルをセットしてあげるようにすると、空のときに空配列になってくれます。

おわり

動かしていないのであとで動かします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0