вернуть JSON и разобрать в java, android

Я возвращаю строку JSON из PHP:

<?php $results = array( "result" => "success", "username" => "some username", "projects" => "some other value" ); echo json_encode($results); ?> 

Я нашел пример Java, который работает в Интернете. Он использует StringBuilder и выводит ответ с помощью Toast. Я хочу, чтобы на самом деле разбирать его как объект JSON, поэтому я могу ссылаться на каждое значение key =>, но не знаю, как это сделать. Это пример, который я использую:

 private void tryLogin(String usernameInput, String passwordInput) { HttpURLConnection connection; OutputStreamWriter request = null; URL url = null; String response = null; String parameters = "username=" + usernameInput + "&password=" + passwordInput; try { url = new URL(getString(R.string.loginLocation)); connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); connection.setRequestMethod("POST"); request = new OutputStreamWriter(connection.getOutputStream()); request.write(parameters); request.flush(); request.close(); String line = ""; InputStreamReader isr = new InputStreamReader(connection.getInputStream()); BufferedReader reader = new BufferedReader(isr); StringBuilder sb = new StringBuilder(); while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } response = sb.toString(); Toast.makeText(this, "Message from server: \n" + response, 0).show(); isr.close(); reader.close(); } catch(IOException e) { Log.i("NetworkTest","Network Error: " + e); } } 

Это код, который возвращает код:

 05-04 19:19:54.724: INFO/NetworkTest(1061): {"result":"success","username":"rondog","projects":"1,2"} 

Чтобы быть ясным, я уверен, что знаю, как разбирать строку. Я запутался в том, что возвращает ответ с сервера и отталкивает его в JSONObject (или это «ответ» на передаваемый мной объект?). Любая помощь приветствуется, спасибо!