【问题标题】:How can I parse these elements in Java如何在 Java 中解析这些元素
【发布时间】:2014-08-28 13:37:23
【问题描述】:

我在解析这些元素时遇到了一些麻烦

[
    {"inicio":"11:15:00","dia":"04\/07\/2014","local":"R. Domingos Cristal, 1-103 - ジャルジン・アンジェラ - São Paulo","fim":"18:45:00"},
    {"inicio":"11:15:00","dia":"06\/07\/2014","local":"R. Domingos Cristal, 103 - ジャルジン・アンジェラ - São Paulo","fim":"19:45:00"},    
    {"inicio":"11:15:00","dia":"05\/07\/2014","local":"R. Domingos Cristal, 103 - ジャルジン・アンジェラ - São Paulo","fim":"19:45:00"}, 
    {"inicio":"11:15:00","dia":"04\/07\/2014","local":"R. Domingos Cristal, 103 - ジャルジン・アンジェラ - São Paulo","fim":"19:45:00"}, 
    {"inicio":"11:15:00","dia":"06\/07\/2014","local":"R. Domingos Cristal, 1-103 - ジャルジン・アンジェラ - São Paulo","fim":"19:45:00"}, 
    {"inicio":"11:15:00","dia":"05\/07\/2014","local":"R. Domingos Cristal, 1-103 - ジャルジン・アンジェラ - São Paulo","fim":"19:45:00"}
]

我想从每个对象中获取每个值,例如第二个数组中的“本地”。我尝试转换为字符串,但没有奏效。也许问题出在第一次解析中,我不知道。

这是我的回应:

spots = json.getJSONArray("spots");
int length = spots.length();
            List<Object> listContents = new ArrayList<Object>(length);

            for (int i=0; i<length; i++) {
                try {
                    listContents.add(spots.getString(i));
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
            SpotsFragment.returnSpots(listContents, parent);

我试过这个:

public static void returnSpots(List<Object> listContents, Activity act) {

    System.out.println(listContents);
    ListView lv = (ListView) act.findViewById(R.id.listView);
    lv.setAdapter(new ArrayAdapter<String>(act,android.R.layout.simple_list_item_1, listContents));
}

但是它将对象块添加为字符串,我无法访问每个值。

【问题讨论】:

    标签: java android arrays json object


    【解决方案1】:

    我的解决方案: 回应:

    int length = spots.length();
                List<Object> listContents = new ArrayList<Object>   (length);
                for (int i = 0; i < length; i++) {
                    try {
                        listContents.add(spots.get(i));
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
    
                }
                SpotsFragment.returnSpots(listContents, parent);
    

    返回:

    ArrayList<String> listObject = new ArrayList<String>();
        for (Object listContent : listContents) {
            JSONObject obj = (JSONObject) listContent;
            String inicio = obj.optString("inicio");
            String dia = obj.optString("dia");
            String local = obj.optString("local");
            String fim = obj.optString("fim");
            listObject.add(inicio);
            listObject.add(dia);
            listObject.add(local);
            listObject.add(fim);
        }
        ListView lv = (ListView) act.findViewById(R.id.listView);
        lv.setAdapter(new ArrayAdapter<String>(act, android.R.layout.simple_list_item_1, listObject));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-08
      • 1970-01-01
      • 2014-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多