我有以下类型的json结构,它来自网址。
// Create variable
var arrSportsList:[[String:String]] = []
// viewDidLoad code
arrSportsList = [
["title":"Cricket"],
["title":"Soccer"],
["title":"American Football"],
["title":"Ice Hockey"],
["title":"Tennis"],
["title":"Baseball"],
["title":"Basketball"],
]
我能够解析除“ bus”之外的所有内容,因为该总线在id 2中不可用。因此,由于找不到“ bus”值,因此出现了错误。 JSONException。
让我知道如何解决这个问题?下面是我尝试过的。
[{
"id": 1,
"name": "TV",
"fromcenter": {
"car": "60 Mins",
"bus": "20 Mins"
},
"location": {
"latitude": -33.7181,
"longitude": 10.3160
}
}, {
"id": 2,
"name": "Fridge",
"fromcenter": {
"car": "30 Mins"
},
"location": {
"latitude": -33.8433,
"longitude": 11.2411
}
}, {
"id": 3,
"name": "Mixie",
"fromcenter": {
"car": "20 Mins",
"bus": "40 Mins"
},
"location": {
"latitude": -3.8910,
"longitude": 11.27777
}
}]
答案 0 :(得分:3)
您可以在读取对象之前询问该对象是否具有该属性
if (object.has("bus")) {
bus = object.getString("bus");
}
答案 1 :(得分:0)
直接输入一个单词。
使用 optString
代替getString
optString
消除了此问题。公交车不在第二项中。
所以使用
String bus= object.optString("bus");