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程序设计有所帮助。