eijixAG
unread,Apr 20, 2011, 1:23:06 AM4/20/11Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to 日本Androidの会
こんにちは。
eijixAGと申します。
json形式のレスポンスデータの解析について、つまづいております。
getStringなどで、"name"に対する値を取得できますが、
通常時レスポンスデータに含まれているはずのnameがなかった場合、エラーになると思います。
具体的なコードを以下に。
========
{"data": {
"member": [
{"id": "0001", "name": "aaaa"},
{"id": "0002", "name": "bbbb", "thumb": "xxxx.jpg"},
{"id": "0003", "name": "cccc", "thumb": "oooo.jpg"}
]}
}
try {
JSONObject jObject = new JSONObject(json);
JSONObject data = jObject.getJSONObject("data");
JSONArray member = data.getJSONArray("member");
for (int i=0; i<member.length(); i++) {
JSONObject person = member.getJSONObject(i);
int id = person.getInt("id");
String name = person.getString("name");
String thumb = person.getString("thumb");
}
} catch (JSONException e) {
// パースエラーなど
e.printStackTrace();
}
========
上段のデータが、「json」に入っており、
下段のコードで解析していくわけですが、
このコードですと、【id=0001】の括りで「thumb」という項目がないので、解析できずエラーになってしまいます。
この時、無いなら無いでそれは読み飛ばし、次の項目の解析に移るようにするには、どうしたら良いのでしょうか?