Gson的简单使用
2016-10-31 17:44
190 查看
注意返回的是JSONObject 还是 JSONAarray 解析时应该在对应的类中怎么写
BOOK//定义的对应Gson类
//解析JsonObject
解析JsonArray
package com.example.volleytest; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; import com.google.gson.Gson; import org.json.JSONArray; import org.json.JSONObject; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //第一步获取请求队列 RequestQueue mQueue = Volley.newRequestQueue(MainActivity.this);//getApplicationContext() 生命周期是整个应用 //在请求队列增加请求 mQueue.add(stringRequest); } //设置请求操作 StringRequest stringRequest = new StringRequest("https://api.douban.com/v2/book/1220562", new Response.Listener<String>() { @Override public void onResponse(String response) { // Log.d("TAG", response); dealData(response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("TAG", error.getMessage(), error); } }); private void dealData(String data) { Gson gson = new Gson(); Book book = gson.fromJson(data,Book.class); //区别在于JSONObject是一个{}包裹起来的一个对象(Object), //而JSONArray则是[]包裹起来的一个数组(Array), Rating rating = book.getRating(); Log.d("--info",rating.getAverage()+" "+rating.getMax()+" "+rating.getMin()+" "+rating.getNumRaters()); ArrayList<Tag> tag = book.getTags(); Log.d("--info",tag.get(0).getCount()+" "+tag.get(0).getName()+" "+tag.get(0).getTitle()); // Log.d("--info",book.getPublisher()+" "+book.getSummary()+" "+book.getTitle()+" "+book.getTags().size()); } }
BOOK//定义的对应Gson类
package com.example.volleytest; import java.util.ArrayList; public class Book { //使用gson注意 定义的类里的属性姓名要和返回的json数据一致 private String title; private String publisher; private String summary; private ArrayList<Tag> tags; //这样定义返回的是jsonArray private Rating rating; //这样定义返回的是jsonobject public Rating getRating() { return rating; } public void setRating(Rating rating) { this.rating = rating; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getPublisher() { return publisher; } public void setPublisher(String publisher) { this.publisher = publisher; } public String getSummary() { return summary; } public void setSummary(String summary) 4000 { this.summary = summary; } public ArrayList<Tag> getTags() { return tags; } public void setTags(ArrayList<Tag> tags) { this.tags = tags; } }
//解析JsonObject
package com.example.volleytest; public class Rating { private int max; private int numRaters; private double average; private int min ; public int getMax() { return max; } public void setMax(int max) { this.max = max; } public int getNumRaters() { return numRaters; } public void setNumRaters(int numRaters) { this.numRaters = numRaters; } public double getAverage() { return average; } public void setAverage(double average) { this.average = average; } public int getMin() { return min; } public void setMin(int min) { this.min = min; } }
解析JsonArray
package com.example.volleytest; public class Tag { private String count; private String name; private String title; public String getCount() { return count; } public void setCount(String count) { this.count = count; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } }
相关文章推荐
- gson简单使用及下载地址
- java中gson的简单使用
- Gson的简单使用(二)
- Gson——简单使用
- Gson的简单使用
- Okhttp、Volley和Gson的简单介绍和配合使用
- Gson简单使用
- Android杂谈(14)OKHttp+Gson的简单使用
- Java Json API:Gson使用简单入门
- Gson简单使用
- Gson的简单使用(待补充)
- Gson简单使用方法
- gson 的简单使用
- Gson的简单使用(一)
- Gson的简单使用
- struts2中Jquery的Gson使用(最简单的例子)
- Gson简单使用
- Gson的简单使用
- [其他]Gson的简单使用(开始到结束)
- Gson简单使用