Android发出HTTP请求,解析返回的JSON

1. php中

echo json_encode($data);

 

2. Android中

package android.test; import java.io.BufferedReader; import java.io.InputStreamReader; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.widget.TextView; public class Main extends Activity { private TextView m_textView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); JSONObject obj = GetJsonObject(); StringBuilder sb = new StringBuilder(); try { sb.append("product_id: " + obj.getInt("id") + "/n"); sb.append("website_name: " + obj.getString("site_name") + "/n"); sb.append("title: " + obj.getString("title") + "/n"); } catch (JSONException e) { e.printStackTrace(); } m_textView = (TextView) findViewById(R.id.myTextView); m_textView.setText(sb.toString()); } private JSONObject GetJsonObject() { HttpClient client = new DefaultHttpClient(); StringBuilder builder = new StringBuilder(); JSONArray jsonArray = null; HttpGet get = new HttpGet("http://www.test.com/aaa"); try { HttpResponse response = client.execute(get); BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); for (String s = reader.readLine(); s != null; s = reader.readLine()) { builder.append(s); } Log.i("json_str", builder.toString()); jsonArray = new JSONArray(builder.toString()); for (int i = 0; i < 2; ++i) { JSONObject jsonObject = jsonArray.getJSONObject(i); Log.i("id", jsonObject.getInt("id") + ""); Log.i("website_name", jsonObject.getString("site_name")); Log.i("website_url", jsonObject.getString("site_url")); Log.i("category", jsonObject.getInt("category") + ""); Log.i("title", jsonObject.getString("title")); } } catch (Exception e) { e.printStackTrace(); } try { return jsonArray.getJSONObject(5); } catch (JSONException e) { e.printStackTrace(); return null; } } }

你可能感兴趣的:(android,json,exception,null,url,website)