如何處理 json
json 字符串及json對象是 Lua 腳本中最常用的參數屬性,在內部邏輯處理及和mobox內核交互過程中都非常常用
對json字符串的解析
解析json字符串是Lua腳本里比較多的應用場景,把一個json字符串轉換成一個json對象,這樣我們就可以非常方便地訪問、設置json中的屬性值。
local strData = '{"State":"1101","No":"TA2301-0021","Ext1":"","Ext2":"","Ext3":"","ForkliftNo":"201","ErrCode":"0","ExtData":"1021"}' local object, success success, object = pcall( json.decode, strData ) if ( success == false ) then error( "JSON格式不合法!"..strData ) end local nState = tonumber( object.State ) local strForkliftNo = object.ForkliftNo
我們可以用?object.ExtData?這樣的方法訪問json中的ExtData屬性值
采用上面3~5 行代碼的處理是 mobox 推進的對json字符串進行解析的方法.如果發現輸入的 strData 不是一個規范的json格式字符串,mobox 會終止腳本執行,并且告知操作者 “JSON格式不合法!”, 并且顯示不符合json規范的字符串