このEPGP World of Warcraft addonは、epgp.luaデータベースファイルを出力します。LuaデータをJSONに変換する
私はpluginを書いて、ギルドのウェブサイトに表示するためにLuaデータをJSONオブジェクトに変換しました。古いバージョンのアドオンで動作していましたが、今はファイルを適切に変換しようとするときに問題があります。変換の問題を示す2つのスニペットがあります。this demoを参照してください。
["roster_info"] = {
{
"Agantica", -- [1]
"ROGUE", -- [2]
"09/03-2013", -- [3]
}, -- [1]
{
"Intikamim", -- [1]
"PALADIN", -- [2]
"17/02-2013", -- [3]
}, -- [2]
},
が
"roster_info" : [
[
"Agantica",
"ROGUE",
"09/03-2013"
],
[
"Intikamim",
"PALADIN",
"17/02-2013"
]
]
なるが、それは内部のオブジェクトでなければなりません場合、文字列のreplacmentのは、ネストされた配列としてこの次のスニペットを見ている:ネストされた配列を形成することで素晴らしい
最初の作品配列:
["bonus_loot_log"] = {
{
["player"] = "Magebox",
["timestamp"] = "2013-03-07 13:44:00",
["coinsLeft"] = "-1",
["reward"] = "|cffa335ee|Hitem:86815:0:0:0:0:0:0:632235520:90:0:445|h[Attenuating Bracers]|h|r",
}, -- [1]
{
["player"] = "Lîutasila",
["coinsLeft"] = "-1",
["timestamp"] = "2013-03-07 13:47:00",
}, -- [2]
},
が
なり"bonus_loot_log" : [
[
"player" : "Magebox",
"timestamp" : "2013-03-07 13:44:00",
"coinsLeft" : "-1",
"reward" : "|cffa335ee|Hitem:86815:0:0:0:0:0:0:632235520:90:0:445|h[Attenuating Bracers]|h|r"
],
[
"player": "Lîutasila",
"coinsLeft": "-1",
"timestamp": "2013-03-07 13:47:00"
]
]
ここには、最初のスニペットでのみ機能する文字列変換スクリプトがあります。
私は、オブジェクトの配列(2番目の例)を使用してLuaを適切に変換する助けが必要です。
[epgp.lua](https://github.com/Mottie/epgp/blob/master/epgp.lua)はどのように生成されますか?この出力を生成するluaコードの場合、そのコードを編集してLuaJSONライブラリ/モジュールを使用することができます。 – hjpotter92
World of Warcraftからログアウトすると、アドオンによって生成されます。あなたがしているのは、生のデータファイルをあなたのサイトにアップロードすることだけです。 – Mottie
これは、あなたの ''大集合を大括弧で終わるものに置き換え、 ''二重の大括弧を大括弧に変更する」行のためです。二重括弧は配列内の配列を意味する必要はありません。 Array内のオブジェクトもLuaの二重列です。 –