アイテムのデータベースを検索しています。Androidアプリで検索を行ってjsonを取得すると、項目にオブジェクトの値がない場合に壊れます。
たとえば、アイテムに対してこのデータが返された場合:
名前 ID IBU ABV
すべてのアイテムに各データ ポイントの値があるわけではないため、アイテムに IBU がない場合、json にそのデータ ポイントがなく、コードが停止します。検索するとクエリの 1 つが壊れ、アイテムに ibu がありません。それで、何も得られなかった場合にそれを無視するように、その横に試してみました。それはまだちょうど止まった。
String beerId = "";
String beerName = "";
String beerDescription = "";;
String beerAbv = "";
String beerIbu = "";
//json.getJSONArray("data").length()
//get json items
for(int i = 0; i < 1; i++) {
try{
beerId = json.getJSONArray("data").getJSONObject(i).getString("id");
}
finally{}
beerName = json.getJSONArray("data").getJSONObject(i).getString("name");
beerDescription = json.getJSONArray("data").getJSONObject(i).getString("description");
beerAbv = json.getJSONArray("data").getJSONObject(i).getString("abv");
try{
beerIbu = json.getJSONArray("data").getJSONObject(i).getString("ibu");
}
finally{beerIbu = "";}