Lua 値を JSON 文字列に変換する (json.encode)
宣言
JSON テキスト, エラー情報 = json.encode(値)
パラメータ
- 値
テーブル型、テキスト型、数値型、ブール型、または json.null。json テキストに変換する lua 値
戻り値
- JSON テキスト
テキスト型または nil。変換に成功した場合は json 文字列を返し、それ以外の場合は nil を返します - エラー情報
テキスト型または nil。変換に失敗して JSON テキスト の値が nil の場合、この戻り値に具体的なエラー情報が格納されます
説明
lua のデータ値を json 形式に変換すると、他の言語とのデータ交換が容易になります
注意 すべての lua 値を json に変換できるわけではありません。たとえば、ユーザーデータ、関数、またはユーザーデータや関数を含むテーブルは変換できません
この関数は XUI で使用できます
例
local tb = {
["name"] = "alice",
["message"] = "hello, world",
scores = {
90, 85, 72, 100, 68,
},
nullvalue = json.null,
}
local jsonstr = json.encode(tb)
sys.alert(jsonstr)
--
local tmp = json.decode(jsonstr)
sys.alert(tmp.scores[4])
sys.alert(tostring(tmp.nullvalue))
注記:上記のコードでは、本章で扱っていない関数 sys.alert を使用しています