如何在 corona sdk 中解析这个数据结构?
how to parse this data structure in corona sdk?
你好我有这个json数据
"bookinfo": { "result1":{"page":"1","text":"aa","audio":"1.mp3"},
"result2":{"page":"1","text":"bb","audio":"2.mp3"},
"result3":{"page":"1","text":"cc.","audio":"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个result1,2,3 ...而是成百上千,这就是难点所在。
我的问题是 jsonContent[1].text
不起作用,如何在不知道名称的情况下访问子元素?仅通过索引?
** 注意:我确定这不是 Whosebug 中任何问题的重复,非常感谢。
我发现了一个至少在我的情况下有效的变通方法,打印字典元素是无序的...所以我采用了这种方法。
我把这个函数添加到 main
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
如果您有更好的解决方案,请告诉我们。
你好我有这个json数据
"bookinfo": { "result1":{"page":"1","text":"aa","audio":"1.mp3"}, "result2":{"page":"1","text":"bb","audio":"2.mp3"}, "result3":{"page":"1","text":"cc.","audio":"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个result1,2,3 ...而是成百上千,这就是难点所在。
我的问题是 jsonContent[1].text
不起作用,如何在不知道名称的情况下访问子元素?仅通过索引?
** 注意:我确定这不是 Whosebug 中任何问题的重复,非常感谢。
我发现了一个至少在我的情况下有效的变通方法,打印字典元素是无序的...所以我采用了这种方法。
我把这个函数添加到 main
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
如果您有更好的解决方案,请告诉我们。