你好我有这个json数据
" bookinfo":{" result1":{" page":" 1"," text": " AA""音频":" 1.MP3"}, " RESULT2" {"页面":" 1""文本":" BB""音频":" 2.MP3"}, " result3" {"页面":" 1""文本":" CC"&#。 34;音频":" 3.mp3"}}
我使用此代码
local function networkListener( event )
if ( event.isError ) then
print ( "ERROR!" )
else
local jsonContent = json.decode(event.response).bookinfo
print(jsonContent[1].text )
end
end
json数据不仅有3个结果1,2,3 ......而是数百个,这就是困难所在。
我的问题是jsonContent[1].text
没有工作,如何在不知道名字的情况下访问子元素?只是通过编制索引?
**注意:我确定这不是stackoverflow中任何问题的重复,非常感谢。
答案 0 :(得分:0)
我找到了一个肮脏的解决方法,至少在我的情况下工作,打印字典元素得到了无序......所以我采用了这种方法。
我将此功能添加到主
function tablelength(T)
local count = 0
for _ in pairs(T) do count = count + 1 end
return count
end
然后我用了这个
local count = 0
local function networkListener( event )
if (event.isError) then
print ( "ERROR!" )
else
local jsonContent = json.decode(event.response)
count = tablelength(jsonContent.bookinfo); print(count)
local content = jsonContent
local texts = {}
for i=1,count do texts[i] = jsonContent.bookinfo["result"..i].text end
end
end
如果您有更好的解决方案,请告诉我们。