我有一个ArrayList,我在ArrayAdapter中使用ListView。我需要接受列表中的项目,并将它们转换为JSONArray发送到API。我已经搜索过,但没有找到任何解释这可能如何工作,任何帮助将不胜感激。

更新 – 解决方案

这是我最后为解决这个问题。

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 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"}]

希望这有助于某人有一天!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐