如何使用GSON获得与特定的值JSON对象中的Andr​​oid [英] How to get JSON Object with specific value in Android using GSON

查看:182
本文介绍了如何使用GSON获得与特定的值JSON对象中的Andr​​oid的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从JSON是字符串类型解析数据。我的JSON响应看起来像

I would like to parse data from JSON which is String type. My JSON response looks like

[{"order":-1,"number":"5"},{"order":0,"number":"7"},{"order":1,"number":"3"}]

我试图用下一个方法:

I tried to use next method:

JSONArray json = new JSONArray("My JSON String");

        for (int i = 0; i < json.length(); i++)
        {
            JSONObject json_staticon = json.getJSONObject(i);

            if(json_staticon.getInt("order") == 0) {
                return json_staticon.getInt("number");
            }
        }

但我想使用谷歌GSON库来解析我的JSON响应,所以...
有什么更好的办法让对象数量价值与为了= 0 使用GSON?

谢谢!

推荐答案

使用GSON

    Gson gson = new Gson();
    Type collectionType = new TypeToken<List<Orders>>(){}.getType();
    List<Orders> details = gson.fromJson(json, collectionType); // json is your json
    for (int i = 0; i <details.size(); i++) {
        Log.i("Order is ",""+details.get(i).order); // Log the order
        Log.i("Order Number is ",""+details.get(i).number); 
    }

Order.java

Order.java

  public class Orders {

   String order,number;
  }

值记录

06-15 04:22:31.282: I/Order is(2464): -1
06-15 04:22:31.282: I/Order Number is(2464): 5
06-15 04:22:31.282: I/Order is(2464): 0
06-15 04:22:31.282: I/Order Number is(2464): 7
06-15 04:22:31.282: I/Order is(2464): 1
06-15 04:22:31.282: I/Order Number is(2464): 3

而不是的同时(INT I = 0; I&LT; details.size();我++){您可以使用增强的for循环对于(订单订单:详细信息){

Also instead of for (int i = 0; i <details.size(); i++) { you can use enhanced for loop for (Orders orders: details) {

这篇关于如何使用GSON获得与特定的值JSON对象中的Andr​​oid的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆