Valores internos JSON

Olá pessoal do GUJ, estou precisando acessar valores internos de um objeto JSON. Eu recebo essa string do Facebook e preciso tratá-la por exemplo:

Resultado: [{“school”:{“name”:“PUC-RS”,“id”:“114611835217226”},“type”:“College”},{“school”:{“name”:“Instituto Porto Alegre”,“id”:“114857961863726”},“type”:“High School”,“year”:{“name”:“1994”,“id”:“140159136001141”}}]

Esse é o JSON object que eu pego quando quero saber sobre a educação da profile do Facebook, só que eu não posso lidar com esse String tão grande eu preciso separá-lo a modo que eu possa pegar o que desejar.

Por exemplo:

getProfileEducationName();

Retornaria: PUC-RS, Instituto Porto Alegre.

getProfileEducationType();

Retornaria: College, High School.

Aqui esta o código da função:

[code]/**
* Return user education.
*/
public void getProfileEducation(){

	try {

	    String	string = fb.request("me");
	    
		JSONObject result = Util.parseJson(fb.request("me"));
      	result.put(string, 1);
    	  
    	  System.out.println("Resultado" + result.get("education") );
    	 
    	
	} catch (MalformedURLException e) {
		e.printStackTrace();
	} catch (IOException e) {
		e.printStackTrace();
	} catch (JSONException e) {
		e.printStackTrace();
	} catch (FacebookError e) {
		e.printStackTrace();
	}
}[/code]