Вот простой пример.
Модель будет вашим конструктором с сеттерами и геттерами.
public class ModelExample {
String title;
public ModelExample(String title) {
this.title = title;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
Давайте создадим список этой модели и добавим к нему заголовки. Вы сделаете цикл for вашего массива json и добавите значения. Это будет похоже на это.
List<ModelExample> model = new ArrayList<ModelExample>();
model.add(new ModelExample("instructor"));
model.add(new ModelExample("Dev"));
model.add(new ModelExample("Dev 2"));
model.add(new ModelExample("Dev 3"));
model.add(new ModelExample("Dev 4"));
model.add(new ModelExample("Dev 5"));
model.add(new ModelExample("Dev 6"));
Если я хочу распечатать все ....
for (int k = 0; k < model.size(); k++) {
System.out.println("Title: " + model.get(k).getTitle());
}
Это напечатает следующее:
Title: instructor
Title: Dev
Title: Dev 2
Title: Dev 3
Title: Dev 4
Title: Dev 5
Title: Dev 6
Затем я хочу просмотреть список, и у меня есть условие, что если заголовок индекса равен инструктору, я его удаляю.
for (int i = 0; i < model.size(); i++) {
if (model.get(i).getTitle().equals("instructor")){
model.remove(i);
}
}
Затем я хочу создать новый JSONArray и добавить оставшиеся элементы в моем списке как объект json.
JSONArray array = new JSONArray();
try {
for (int i = 0; i < model.size(); i++) {
JSONObject object = new JSONObject();
object.put("title", model.get(i).getTitle());
array.put(object);
}
System.out.println("JSONArray: " + array.toString());
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Окончательное значение печати будет таким.
[{
"title": "Dev"
}, {
"title": "Dev 2"
}, {
"title": "Dev 3"
}, {
"title": "Dev 4"
}, {
"title": "Dev 5"
}, {
"title": "Dev 6"
}]
Вот весь мой класс, который я закодировал. Пожалуйста, имейте в виду, что вы всегда должны практиковать ООП. Создайте методы для удаления индекса вместо того, чтобы иметь его во всем классе. Это очень быстрый и грязный способ сделать это.
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class ModelExample {
String title;
public ModelExample(String title) {
this.title = title;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
List<ModelExample> model = new ArrayList<ModelExample>();
model.add(new ModelExample("instructor"));
model.add(new ModelExample("Dev"));
model.add(new ModelExample("Dev 2"));
model.add(new ModelExample("Dev 3"));
model.add(new ModelExample("Dev 4"));
model.add(new ModelExample("Dev 5"));
model.add(new ModelExample("Dev 6"));
for (int k = 0; k < model.size(); k++) {
System.out.println("Title: " + model.get(k).getTitle());
}
System.out.println("\n\nSize of list before removing: " + model.size());
for (int i = 0; i < model.size(); i++) {
if (model.get(i).getTitle().equals("instructor")){
model.remove(i);
System.out.println("REMOVED INSTRUCTOR");
}
}
System.out.println("Size of list after removing: " + model.size() + "\n\n");
JSONArray array = new JSONArray();
try {
for (int i = 0; i < model.size(); i++) {
JSONObject object = new JSONObject();
object.put("title", model.get(i).getTitle());
array.put(object);
}
for (int j = 0; j < array.length(); j++) {
System.out.println("Title: " + array.get(j));
}
System.out.println(array.toString());
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
И, наконец, напечатано следующее:
Title: instructor
Title: Dev
Title: Dev 2
Title: Dev 3
Title: Dev 4
Title: Dev 5
Title: Dev 6
Size of list before removing: 7
REMOVED INSTRUCTOR
Size of list after removing: 6
Title: {"title":"Dev"}
Title: {"title":"Dev 2"}
Title: {"title":"Dev 3"}
Title: {"title":"Dev 4"}
Title: {"title":"Dev 5"}
Title: {"title":"Dev 6"}
[{"title":"Dev"},{"title":"Dev 2"},{"title":"Dev 3"},{"title":"Dev 4"},{"title":"Dev 5"},{"title":"Dev 6"}]