Android实现读写JSON数据的方法
本文实例讲述了Android实现读写JSON数据的方法。分享给大家供大家参考。具体如下:
1.解析JSON:
packagede.vogella.android.twitter.json;
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importorg.apache.http.HttpEntity;
importorg.apache.http.HttpResponse;
importorg.apache.http.StatusLine;
importorg.apache.http.client.ClientProtocolException;
importorg.apache.http.client.HttpClient;
importorg.apache.http.client.methods.HttpGet;
importorg.apache.http.impl.client.DefaultHttpClient;
importorg.json.JSONArray;
importorg.json.JSONObject;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.util.Log;
publicclassParseJSONextendsActivity{
/**Calledwhentheactivityisfirstcreated.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
StringreadTwitterFeed=readTwitterFeed();
try{
JSONArrayjsonArray=newJSONArray(readTwitterFeed);
Log.i(ParseJSON.class.getName(),
"Numberofentries"+jsonArray.length());
for(inti=0;i<jsonArray.length();i++){
JSONObjectjsonObject=jsonArray.getJSONObject(i);
Log.i(ParseJSON.class.getName(),jsonObject.getString("text"));
}
}catch(Exceptione){
e.printStackTrace();
}
}
publicStringreadTwitterFeed(){
StringBuilderbuilder=newStringBuilder();
HttpClientclient=newDefaultHttpClient();
HttpGethttpGet=newHttpGet(
"http://twitter.com/statuses/user_timeline/vogella.json");
try{
HttpResponseresponse=client.execute(httpGet);
StatusLinestatusLine=response.getStatusLine();
intstatusCode=statusLine.getStatusCode();
if(statusCode==200){
HttpEntityentity=response.getEntity();
InputStreamcontent=entity.getContent();
BufferedReaderreader=newBufferedReader(
newInputStreamReader(content));
Stringline;
while((line=reader.readLine())!=null){
builder.append(line);
}
}else{
Log.e(ParseJSON.class.toString(),"Failedtodownloadfile");
}
}catch(ClientProtocolExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
returnbuilder.toString();
}
}
2.生成JSON:
publicvoidwriteJSON(){
JSONObjectobject=newJSONObject();
try{
object.put("name","JackHack");
object.put("score",newInteger(200));
object.put("current",newDouble(152.32));
object.put("nickname","Hacker");
}catch(JSONExceptione){
e.printStackTrace();
}
System.out.println(object);
}
希望本文所述对大家的Android程序设计有所帮助。