Android自带json和Gson数据格式解析示列
2016-10-28 09:59
363 查看
DataOfJson dataOfJson = new DataOfJson(getApplicationContext(),url, Request.Method.POST); dataOfJson.setJsonVolleyCallBack(new JsonVolleyCallBack() { @Override public void getJsonFromVolley(JSONObject jsonObject) { try { Log.i("reason",jsonObject.getString("reason")); tv.setText(jsonObject.getString("reason")); Log.i("error_code", String.valueOf(jsonObject.get("error_code"))); tv.append(String.valueOf(jsonObject.get("error_code"))); JSONObject object1 = (JSONObject) jsonObject.get("result"); JSONArray array = object1.getJSONArray("data"); for (int i = 0; i < array.length();i++){ JSONObject object = array.getJSONObject(i); Log.i("result:", object.getString("title")); tv.append(object.getString("title")); Log.i("result:", String.valueOf(object.get("code"))); } } catch (JSONException e) { e.printStackTrace(); } } @Override public void putJsonFromVolley(Map<String, String> map) { } }); dataOfJson.JsonFromNet();
json数据:
{ "error_code": 0, "reason": "Success", "result": { "data": [ { "title": "枪·血玫瑰·Necromancer", "code": 20595 }, { "title": "热血传奇之绝对计划", "code": 20596 }, { "title": "人鬼情", "code": 20597 }, { "title": "人妖孽缘", "code": 20598 }, { "title": "热血传奇之傲气凌云", "code": 20599 }, { "title": "人品天下", "code": 20600 }, { "title": "日月神祭师", "code": 20601 }, { "title": "人魔世界", "code": 20602 }, { "title": "燃烧战役", "code": 20603 }, { "title": "人妖传说", "code": 20604 }, { "title": "任性少年", "code": 20605 }, { "title": "任风随柳意飘扬", "code": 20606 }, { "title": "上辈子欠你的爱", "code": 20607 }, { "title": "首富未成年", "code": 20608 }, { "title": "三国志乱", "code": 20609 }, { "title": "圣轩", "code": 20610 }, { "title": "谁是李世民", "code": 20611 }, { "title": "生化危机之终期黑城", "code": 20612 }, { "title": "树在红尘", "code": 20613 }, { "title": "狩猎园", "code": 20614 }, { "title": "兽族世界的佣兵", "code": 20615 }, { "title": "兽族的荣耀", "code": 20616 }, { "title": "兽族", "code": 20617 }, { "title": "死神-虚之死神", "code": 20618 }, { "title": "丧神", "code": 20619 }, { "title": "世界", "code": 20620 }, { "title": "三界传说", "code": 20621 }, { "title": "神道侠医之妙手回春", "code": 20622 }, { "title": "神兵传", "code": 20623 }, { "title": "烁金", "code": 20624 }, { "title": "蜀山问天书", "code": 20625 }, { "title": "神珠子之成仙传奇", "code": 20626 }, { "title": "那时花儿开", "code": 20627 }, { "title": "光之继承者", "code": 20628 }, { "title": "水之旅", "code": 20629 }, { "title": "神冥劫", "code": 20631 }, { "title": "随机英雄", "code": 20632 }, { "title": "死亡倒计时", "code": 20633 }, { "title": "杀手必读手册", "code": 20634 }, { "title": "紫狐女儿", "code": 20635 }, { "title": "仙凡寻", "code": 20636 }, { "title": "兽界风云", "code": 20637 }, { "title": "食为天", "code": 20638 }, { "title": "神之启世录", "code": 20639 }, { "title": "杀戮游戏", "code": 20640 }, { "title": "网游之书生传奇", "code": 20641 }, { "title": "时空交错间的爱情", "code": 20642 }, { "title": "神雕之大宋皇朝", "code": 20643 }, { "title": "仙兵", "code": 20644 }, { "title": "时空流浪者", "code": 20645 } ] } }
json数据封装类:
package com.example.cuboo.myapplication.DataFromNetApi; import android.content.Context; import android.util.Log; import android.view.View; import com.android.volley.AuthFailureError; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.JsonObjectRequest; import com.android.volley.toolbox.Volley; import org.json.JSONObject; import java.util.HashMap; import java.util.Map; /** * Created by cuboo on 2016/10/26. * 从网络获取Json数据 */ public class DataOfJson { private Context context; private String url; private RequestQueue mQueue; private int method; private JsonVolleyCallBack jsonVolleyCallBack; public void setJsonVolleyCallBack(JsonVolleyCallBack jsonVolleyCallBack) { this.jsonVolleyCallBack = jsonVolleyCallBack; } public DataOfJson(Context context, String url, int method){ this.context = context; this.url = url; this.method = method; mQueue = Volley.newRequestQueue(context); } public DataOfJson(View view,String url,int method){ this(view.getContext(),url,method); } public void JsonFromNet() { JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(method,url, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject jsonObject) { if (jsonVolleyCallBack != null){ jsonVolleyCallBack.getJsonFromVolley(jsonObject); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { Log.e("TAG", volleyError.getMessage(), volleyError); 4000 } }); mQueue.add(jsonObjectRequest); } public void JsonFromAndPutNet() { JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(method, url, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject jsonObject) { if (jsonVolleyCallBack != null){ jsonVolleyCallBack.getJsonFromVolley(jsonObject); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { Log.e("TAG", volleyError.getMessage(), volleyError); } }){ @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String, String> map = new HashMap<String,String>(); if (jsonVolleyCallBack != null){ jsonVolleyCallBack.putJsonFromVolley(map); } return map; } }; mQueue.add(jsonObjectRequest); } }
Gson解析数据:
DataOfJson dataOfJson = new DataOfJson(getApplicationContext(),url, Request.Method.POST);
dataOfJson.setJsonVolleyCallBack(new JsonVolleyCallBack() {
@Override
public void getJsonFromVolley(JSONObject jsonObject) {
Gson gson = new Gson();
Rootss rootss = gson.fromJson(String.valueOf(jsonObject),Rootss.class);
Log.i("reason",rootss.getReason());
Log.i("error_code", String.valueOf(rootss.getError_code()));
Result result = rootss.getResult();
Log.i("result", String.valueOf(result.getData().size()));
for (book b:result.getData()){
Log.i("title", b.getTitle());
Log.i("code", String.valueOf(b.getCode()));
}
}
@Override
public void putJsonFromVolley(Map<String, String> map) {
}
});
dataOfJson.JsonFromNet();
相关文章推荐
- Android连接服务器数据库查询+Gson解析(List和Map)格式json数据(一)
- Json数据格式介绍、使用Android自带类库完成Json生成与解析
- Json数据格式介绍、使用Android自带类库完成Json生成与解析
- android 学习笔记 解析json格式的数据 JSONObject 和GSON解析json格式数据
- android学习---使用GSON解析JSON格式数据
- 【Android开发经验】Json数据格式介绍、使用Android自带类库完成Json生成与解析
- 【Android开发经验】Json数据格式介绍、使用Android自带类库完成Json生成与解析
- Android连接服务器数据库查询+Gson解析(List和Map)格式json数据(二)
- Android JSON数据格式的解析,与简单对象、带泛型的List和Map的转换,以及GSON的使用
- Json数据格式介绍、使用Android自带类库完成Json生成与解析
- AndroidGson 解析Json格式的数据
- android 解析json数据格式
- Android中使用Gson解析JSON数据
- android 解析json数据格式
- android 解析json数据格式
- android 解析json数据格式
- Android中使用Gson解析JSON数据
- Android使用自带JSONObject解析JSON数据
- Android数据格式解析对象JSON用法
- Android数据格式解析对象JSON用法