SORU
30 Ocak 2011, Pazar


dönüştürmek ArrayList<MyCustomClass> JSONArray için

Bir liste Görünümü için bir ArrayAdapter içinde kullandığım bir ArrayList var. Listedeki öğeleri almak istiyorum ve bir API ve göndermek için bir JSONArray onları dönüştürmek. Etrafında aradı, ama bu iş nasıl açıklayan bir şey bulamadım ben, herhangi bir yardım mutluluk duyacağız.

UPDATE - ÇÖZÜM

Kadar bu sorunu çözmek için ben de yapıyordum.

ArrayList nesnesindeki

public class ListItem {
    private long _masterId;
    private String _name;
    private long _category;

    public ListItem(long masterId, String name, long category) {
        _masterId = masterId;
        _name = name;
        _category = category;
    }

    public JSONObject getJSONObject() {
        JSONObject obj = new JSONObject();
        try {
            obj.put("Id", _masterId);
            obj.put("Name", _name);
            obj.put("Category", _category);
        } catch (JSONException e) {
            trace("DefaultListItem.toString JSONException: " e.getMessage());
        }
        return obj;
    }
}

Ben dönüştürülmüş.

ArrayList<ListItem> myCustomList = .... // list filled with objects
JSONArray jsonArray = new JSONArray();
for (int i=0; i < myCustomList.size(); i  ) {
        jsonArray.put(myCustomList.get(i).getJSONObject());
}

Ve çıktı:

[{"Name":"Name 1","Id":0,"Category":"category 1"},{"Name":"Name 2","Id":1,"Category":"category 2"},{"Name":"Name 3","Id":2,"Category":"category 3"}]

Bu birilerine bir gün yardımcı olur umarım!

CEVAP
30 Ocak 2011, Pazar


Eğer JSONArray doğru kurucular okudum, herhangi bir Tahsilat (arrayList Koleksiyon sınıfı) gibi oluşturabilirsiniz:

ArrayList<String> list = new ArrayList<String>();
list.add("foo");
list.add("baar");
JSONArray jsArray = new JSONArray(list);

Referanslar:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Google Analytics

    Google Analy

    25 ŞUBAT 2008
  • Menglong Tav

    Menglong Tav

    18 Temmuz 2010
  • Triune Films

    Triune Films

    9 ŞUBAT 2006