我正在连接的Web服务返回其JSON以响应查询,因此:
[{
"dob":"25/12/68",
"firstname":"Mary",
"lastmoddate":1368519205101,
"lastname":"Smith",
"resident_id":"712d9b726603426ca36f9c77fa644ae9",
"createddate":1368519205101
}]
...我从Web服务中提取并存储在名为“My JSON”的字段中。
您会注意到在开头和结尾都有方括号,我认为它对JSON数组有效吗?我在LC中有以下脚本,目前只从我的数组中检索“firstname”并将其放入tMyVar进行显示:
function JSONToArray pJSON
local tArray,tKeys
repeat for each line tKey in mergJSONDecode(pJSON,"tArray")
put JSONToArray(tArray[tKey]) into tArray[tKey]
end repeat
return tArray
end JSONToArray
on mouseUp
put field "My JSON" into pJSON
put JSONToArray(pJSON) into tArray
put tArray["firstname"] into tMyVar
answer tMyVar
end mouseUp
这很奇怪但是当我通过mergJSON WITH 运行Web服务JSON时,方括号tMyVar变量是空的,但如果我从开头和&中删除方括号结束变量将填充“firstname”的内容就好了。
有人可以建议我做错了吗?
谢谢,
史蒂夫
答案 0 :(得分:0)
当它返回一个数组内的对象时,JSONToArray将创建一个多维数组。将mouseUp处理程序更改为:
on mouseUp
put field "My JSON" into pJSON
put JSONToArray(pJSON) into tArray
put tArray[1]["firstname"] into tMyVar
answer tMyVar
end mouseUp