首页 > 系统 > Android > 正文

Android实现读写JSON数据的方法

2020-04-11 11:23:59
字体:
来源:转载
供稿:网友

本文实例讲述了Android实现读写JSON数据的方法。分享给大家供大家参考。具体如下:

1. 解析JSON:

package de.vogella.android.twitter.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 readTwitterFeed = readTwitterFeed();  try {   JSONArray jsonArray = new JSONArray(readTwitterFeed);   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 readTwitterFeed() {  StringBuilder builder = new StringBuilder();  HttpClient client = new DefaultHttpClient();  HttpGet httpGet = new HttpGet(    "http://twitter.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(); }}

2. 生成JSON:

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);}

希望本文所述对大家的Android程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表