我写了json阅读器来阅读数据&适用于以下数据。
{"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}}
但是当json从api返回单个menuitem时
{"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem":
{"value": "Close", "onclick": "CloseDoc()"}
}
}}
menuitem是一个对象而不是一个数组。 所以,我的json阅读器无法读取,因为我通过循环读取了menuitem数组。
非常感谢解决方案。 如何处理其他主要网站?
答案 0 :(得分:1)
jQuery的 makeArray 非常适合这一点 http://api.jquery.com/jQuery.makeArray/
它会占用任何东西并返回一个数组,所以如果它已经是一个数组,它会按原样传递它,但是如果它是一个标量,它就会产生一个单值数组。然后你可以迭代结果。
答案 1 :(得分:0)
假设您想要阅读menuitem的'value',您可以使用
if(menuitem.value!=undefined)//this will return undefined if the menu item is an array
如果上述条件为假,则另一件事是使用menuitem[0].value
。
希望这能在一定程度上解决您的问题。