private List<Person> extractFriendsList(String jsonText) {

		List<Person> personList = new ArrayList<Person>();
		boolean readFriends = true;
		int rowId = 0;

		try {

			JsonFactory jsonFactory = new JsonFactory();

			/*** read from JSON String ***/
			JsonParser jParser = jsonFactory.createJsonParser(jsonText);
			String fieldname = "";

			while (jParser.nextToken() != null) {
				fieldname = jParser.getCurrentName();

				if ("data".equals(fieldname) && readFriends) {
					logger.debug("entering to friends list.. ");
					while (jParser.nextToken() != JsonToken.END_ARRAY) {
						String fname = jParser.getCurrentName();
						if ("name".equals(fname)) {
							// current token is "name",
							// move to next, which is "name"'s value
							jParser.nextToken();
							String name = jParser.getText();
							logger.debug("name received: " + name);
							Person person = new Person();
							// person.setRowId(++rowId);
							person.setName(name);
							personList.add(person);

						}

					}
					readFriends = false;
				}

			}
			jParser.close();

		} catch (JsonGenerationException e) {
			logger.error("JsonGenerationException received: " + e);
		} catch (JsonMappingException e) {
			logger.error("JsonMappingException received: " + e);
		} catch (IOException e) {
			logger.error("IOException received: " + e);
		}

		// sort the names alphabetically

		Collections.sort(personList);
		// add row num
		for (Person p : personList) {
			p.setRowId(++rowId);
		}

		return personList;

	}