Android 平台上读写 JSON 数据

fmms 12年前
     JSON 很受欢迎,在 Android 上如何读写呢,请看以下代码    <pre class="brush:java; toolbar: true; auto-links: false;">package de.vogella.android.推ter.json;  import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader;  import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.StatusLine; import org.apache.http.client.ClientProtocolException; 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.JSONObject;  import android.app.Activity; import android.os.Bundle; import android.util.Log;  public class ParseJSON extends Activity {  /** Called when the activity is first created. */  @Override  public void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.main);   String read推terFeed = read推terFeed();   try {    JSONArray jsonArray = new JSONArray(read推terFeed);    Log.i(ParseJSON.class.getName(),      "Number of entries " + jsonArray.length());    for (int i = 0; i < jsonArray.length(); i++) {     JSONObject jsonObject = jsonArray.getJSONObject(i);     Log.i(ParseJSON.class.getName(), jsonObject.getString("text"));    }   } catch (Exception e) {    e.printStackTrace();   }  }   public String read推terFeed() {   StringBuilder builder = new StringBuilder();   HttpClient client = new DefaultHttpClient();   HttpGet httpGet = new HttpGet(     "http://推ter.com/statuses/user_timeline/vogella.json");   try {    HttpResponse response = client.execute(httpGet);    StatusLine statusLine = response.getStatusLine();    int statusCode = statusLine.getStatusCode();    if (statusCode == 200) {     HttpEntity entity = response.getEntity();     InputStream content = entity.getContent();     BufferedReader reader = new BufferedReader(       new InputStreamReader(content));     String line;     while ((line = reader.readLine()) != null) {      builder.append(line);     }    } else {     Log.e(ParseJSON.class.toString(), "Failed to download file");    }   } catch (ClientProtocolException e) {    e.printStackTrace();   } catch (IOException e) {    e.printStackTrace();   }   return builder.toString();  } }</pre>生成JSON:    <br />    <pre class="brush:java; toolbar: true; auto-links: false;">public void writeJSON() {     JSONObject object = new JSONObject();     try {         object.put("name", "Jack Hack");         object.put("score", new Integer(200));         object.put("current", new Double(152.32));         object.put("nickname", "Hacker");     } catch (JSONException e) {         e.printStackTrace();     }     System.out.println(object); }</pre>    <br />