如何處理 json
json 字符串及json對(duì)象是 Lua 腳本中最常用的參數(shù)屬性,在內(nèi)部邏輯處理及和mobox內(nèi)核交互過(guò)程中都非常常用
對(duì)json字符串的解析
解析json字符串是Lua腳本里比較多的應(yīng)用場(chǎng)景,把一個(gè)json字符串轉(zhuǎn)換成一個(gè)json對(duì)象,這樣我們就可以非常方便地訪問(wèn)、設(shè)置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?這樣的方法訪問(wèn)json中的ExtData屬性值
采用上面3~5 行代碼的處理是 mobox 推進(jìn)的對(duì)json字符串進(jìn)行解析的方法.如果發(fā)現(xiàn)輸入的 strData 不是一個(gè)規(guī)范的json格式字符串,mobox 會(huì)終止腳本執(zhí)行,并且告知操作者 “JSON格式不合法!”, 并且顯示不符合json規(guī)范的字符串