我試圖將保存的Lua錶轉換爲我可以更容易地解析以包含在網頁中的東西。我使用的是來自code.google's luaforwindows的windows的Lua。它包含在這個harningt's luajson中用於處理這種轉換。我已經能夠弄清楚如何加載文件的內容。我沒有得到任何錯誤,但它產生的「json」是無效的。它只是將整個東西放在引號中,並添加了\n
和\t
。我讀的文件是一個.lua
文件,該文件的格式爲:刪除luajson輸出中的新行和標籤
MyBorrowedData = {
["first"] = {
["firstSub"] = {
["firstSubSub"] = {
{
["stuffHere"]="someVal"
},
{
["stuffHere2"]="some2Val"
},
},
},
},
}
注意,
以下各表的「行」的最後一個項目,是這個問題?它有效的Lua數據?我感覺就像給出了輸出結果,當我讀入時,Lua無法解析表格。當我嘗試使用lua數據文件的require
時,我更加相信這一點,而且我似乎無法手動遍歷表格。
任何人都可以告訴我,如果它是代碼中的錯誤或格式不正確的數據導致該問題?
的Lua的提升很簡單:
local json = require("json")
local file = "myBorrowedData.lua"
local jsonOutput = "myBorrowedOutput.json"
r = io.input(file)
t = io.read('*all')
u = io.output(jsonOutput)
s = json.encode(t)
io.write(s)
當我發佈了這個問題後,我把我的代碼粘貼到lua文件的底部,它工作,所以我有一種感覺,我沒有正確加載數據。我必須找出答案的執行情況,但一旦我做到了,BOOM就會成功!非常感謝你。 如果有人有興趣,我把代碼放在我最初的t var之後,並將他的lua_code_string改爲我的t var。 s var被改爲json.encode(data)。 –
@AndyFoster請考慮使用更多的描述性變量名稱。對於更多按鍵的成本,您可以讓其他人(例如SO)和您自己更容易理解您的代碼。 –
會這麼做,我一直都在做JS,我不知道爲什麼我在櫻桃採摘時沒有改變它們。 –