/** * Copyright 2010 Mark Wyszomierski */ package com.joelapenna.foursquare.parsers.json; import com.joelapenna.foursquare.types.Emails; import com.joelapenna.foursquare.types.FriendInvitesResult; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; /** * @date July 13, 2010 * @author Mark Wyszomierski (markww@gmail.com) * */ public class FriendInvitesResultParser extends AbstractParser<FriendInvitesResult> { @Override public FriendInvitesResult parse(JSONObject json) throws JSONException { FriendInvitesResult obj = new FriendInvitesResult(); if (json.has("users")) { obj.setContactsOnFoursquare( new GroupParser( new UserParser()).parse(json.getJSONArray("users"))); } if (json.has("emails")) { Emails emails = new Emails(); if (json.optJSONObject("emails") != null) { JSONObject emailsAsObject = json.getJSONObject("emails"); emails.add(emailsAsObject.getString("email")); } else if (json.optJSONArray("emails") != null) { JSONArray emailsAsArray = json.getJSONArray("emails"); for (int i = 0; i < emailsAsArray.length(); i++) { emails.add(emailsAsArray.getString(i)); } } obj.setContactEmailsOnNotOnFoursquare(emails); } if (json.has("invited")) { Emails emails = new Emails(); JSONArray array = json.getJSONArray("invited"); for (int i = 0; i < array.length(); i++) { emails.add(array.getString(i)); } obj.setContactEmailsOnNotOnFoursquareAlreadyInvited(emails); } return obj; } }