1.Volley和Gson結合使用——Volley適用於小型數據,多次的請求,使用Gson解析時,伺服器數據的鍵值不能包含常用的標識符如:class.....等,這些就需要與服務端小伙伴商量了, public class MainActivity extends Activity { private ...
1.Volley和Gson結合使用——Volley適用於小型數據,多次的請求,使用Gson解析時,伺服器數據的鍵值不能包含常用的標識符如:class.....等,這些就需要與服務端小伙伴商量
這樣也可以解決@SuppressWarnings ("class")
private String myClass;//這樣使用就Gson可以解決Android關鍵字問題了,
public class MainActivity extends Activity {
private String url = "https://網路請求的IP";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RequestData();
}
private void RequestData() {
StringRequest request = new StringRequest(url, new Listener<String>() {
@Override
public void onResponse(String arg0) {
Log.i("info", arg0);
dealData(arg0);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError arg0) {
// TODO Auto-generated method stub
}
});
new Volley().newRequestQueue(getApplicationContext()).add(request);
}
private void dealData(String result) {
Gson gson = new Gson();
//Book是我們自己創建的解析類
Book book = gson.fromJson(result, Book.class);
Log.i("info", book.getTitle() + ":" + book.getPublisher() + ":"
+ book.getTags().size());
}
}
2.Volley與FastGson——FastGson,主要針對實體類集合,性能比Gson高
private void dealData(String result) {
Book book = JSON.parseObject(result, Book.class);//對象
List<Book> books = JSON.parseObject(result,
new TypeReference<List<Book>>() {
});//對象集合
3.在特定情況下可以根據自己的需要使用JsonObject