我正在查询一个远程服务器并接收JSON响应。响应的格式取决于响应中对象的数量。如果响应中只有一个对象,它看起来类似于:
"results": {
"meeting": {
"location": "Location A",
"time": "1378033200"
}
}
但如果响应中有多个对象,我将得到一个对象数组:
"results": {
"meeting": [
{
"location": "Location A",
"time": "1378033200"
},
{
"location": "Location B",
"time": "1379250000"
}
]
}
服务器完整的响应包括一个“count”变量,因此我可以区分这两种情况。在我的Javascript中,我首先检查计数,如果恰好有一个对象,我会读取类似于位置和时间信息的内容。
var location = results.meeting.location;
var time = results.meeting.time;
如果不止一个对象存在,我会执行以下操作
for(var i=0; i<count; i++) {
var location = results.meeting[i].location;
var time = results.meeting[i].time;
}
这个方法可以运行,但我想知道是否有更优雅的方式来处理这两种情况?
meeting
都应该是一个数组。这会为你节省很多麻烦,因为你不必区分两种可能性。这也是更一致的做法。 - basilikum