मेरे पास एक ArrayList है जिसे मैं एक ListView के लिए एक ArrayAdapter के भीतर उपयोग करता हूं। मुझे सूची में आइटम लेने और उन्हें एपीआई में भेजने के लिए JSONArray में बदलने की आवश्यकता है। मैंने चारों ओर खोज की है, लेकिन ऐसा कुछ भी नहीं मिला है जो बताता है कि यह कैसे काम कर सकता है, किसी भी मदद की सराहना की जाएगी।
अद्यतन - समाधान
यहाँ मैं इस मुद्दे को हल करने के लिए क्या कर रहा हूँ।
ArrayList में वस्तु:
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;
}
}
यहाँ मैं इसे कैसे परिवर्तित किया है:
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());
}
और आउटपुट:
[{"Name":"Name 1","Id":0,"Category":"category 1"},{"Name":"Name 2","Id":1,"Category":"category 2"},{"Name":"Name 3","Id":2,"Category":"category 3"}]
आशा है कि यह किसी दिन किसी की मदद करता है!