android解析jsonデータ(一)
jsonデータフォーマット解析は私自身が2つに分けられます.1つは普通で、1つは配列形式を持っています.一般的な形式:サーバ側が返すjsonデータフォーマットは以下の通りです.
分析コードは次のとおりです.
//
TODO状態処理500 200
配列付き:サーバ側から返されるデータ形式は、{"calendaar":{"calendaarlist":[{"calendaar_id":"1705","title":"(u 4 eb 2u 5 b 50)ddssd","category_name":"u 9 ed 8u 8 ba 4u 5206u 7 c 7 b","showtime":"12288927800","endshowtime":"12288931400","allDay":false},{calendaarendarid_id","calend_id","calendar_id""","calendaarendarid""":{calendaarendarid_id"""""","ca:[ 1706]、「title」:「(u 65 c 5u 884 c)」、「category_name」:"u 9 ed 8u 8 ba 4u 5206u 7 c 7 b","showtime":"1288933200","endshowtime":"1288936800","allDay":false}}}解析コードは、//TODO状態処理500 200 int res=0; res = httpClient.execute(httpPost).getStatusLine().getStatusCode(); if(res==200){/*戻りコードが200の場合、処理*を行いサーバ側からjsonデータを返し、処理**/HttpResponse httpResponse=httpClient.executeを行う(httpPost); StringBuilder builder =new StringBuilder(); BufferedReader bufferedReader2 =new BufferedReader( new InputStreamReader(httpResponse.getEntity().getContent())); String str2 =""; for (String s= bufferedReader2.readLine(); s!=null; s= bufferedReader2 .readLine()) { builder.append(s); } Log.i("cat",">>>>>>"+ builder.toString());/**ここでは、サーバから返信されたjson形式のデータを解析する必要があります*/JSOnObject jsonObject=new JSOnObject(builder.toString()です.getJSONObject("calendar"); JSONArray jsonArray = jsonObject.getJSONArray("calendarlist"); for(int i=0;i反射メカニズムを利用して作業を簡素化することもできますhttp://blog.csdn.net/yifuteli_kevin/article/details/11891783
{"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}}
分析コードは次のとおりです.
//
TODO状態処理500 200
int res = 0;
res = httpClient.execute(httpPost).getStatusLine().getStatusCode();
if (res == 200) {
/*
* 200 ,
* json ,
* */
HttpResponse httpResponse = httpClient.execute(httpPost);
StringBuilder builder = new StringBuilder();
BufferedReader bufferedReader2 = new BufferedReader(
new InputStreamReader(httpResponse.getEntity().getContent()));
String str2 = "";
for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2
.readLine()) {
builder.append(s);
}
Log.i("cat", ">>>>>>" + builder.toString());
JSONObject jsonObject = new JSONObject(builder.toString())
.getJSONObject("userbean");
String Uid;
String Showname;
String Avtar;
String State;
Uid = jsonObject.getString("Uid");
Showname = jsonObject.getString("Showname");
Avtar = jsonObject.getString("Avtar");
State = jsonObject.getString("State");
配列付き:サーバ側から返されるデータ形式は、{"calendaar":{"calendaarlist":[{"calendaar_id":"1705","title":"(u 4 eb 2u 5 b 50)ddssd","category_name":"u 9 ed 8u 8 ba 4u 5206u 7 c 7 b","showtime":"12288927800","endshowtime":"12288931400","allDay":false},{calendaarendarid_id","calend_id","calendar_id""","calendaarendarid""":{calendaarendarid_id"""""","ca:[ 1706]、「title」:「(u 65 c 5u 884 c)」、「category_name」:"u 9 ed 8u 8 ba 4u 5206u 7 c 7 b","showtime":"1288933200","endshowtime":"1288936800","allDay":false}}}解析コードは、//TODO状態処理500 200 int res=0; res = httpClient.execute(httpPost).getStatusLine().getStatusCode(); if(res==200){/*戻りコードが200の場合、処理*を行いサーバ側からjsonデータを返し、処理**/HttpResponse httpResponse=httpClient.executeを行う(httpPost); StringBuilder builder =new StringBuilder(); BufferedReader bufferedReader2 =new BufferedReader( new InputStreamReader(httpResponse.getEntity().getContent())); String str2 =""; for (String s= bufferedReader2.readLine(); s!=null; s= bufferedReader2 .readLine()) { builder.append(s); } Log.i("cat",">>>>>>"+ builder.toString());/**ここでは、サーバから返信されたjson形式のデータを解析する必要があります*/JSOnObject jsonObject=new JSOnObject(builder.toString()です.getJSONObject("calendar"); JSONArray jsonArray = jsonObject.getJSONArray("calendarlist"); for(int i=0;i