Вы можете использовать любую библиотеку JSON для чтения данных json.
1) Считайте ключ значения studentname
, чтобы получить имя студента. 2) Считайте значение ключа student's name from #1
Кроме того, json, указанный в вопросе, недействителен. Я предположил, что правильный json будет
[
{
studentname: "john",
john: "123"
},
{
studentname: "Ram",
Ram: "124"
}
]
Моя попытка использовать библиотеку GSON:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
public class GsonTest {
private static String json = "JSON STRING HERE";
public static void main(String[] args) {
Gson gson = new GsonBuilder().create();
JsonElement jsonElement = gson.fromJson(json, JsonElement.class);
JsonArray array = jsonElement.getAsJsonArray();
Iterator<JsonElement> iterator = array.iterator();
List<Student> students = new ArrayList<Student>();
while (iterator.hasNext()) {
JsonObject item = iterator.next().getAsJsonObject();
// Roll No is read by reading dynamic key which is student name
Student student = new Student(item.get(item.get("studentname").getAsString()).getAsInt(), item.get("studentname").getAsString());
students.add(student);
}
students.forEach(item -> {
System.out.println("Name : " + item.getStudentname() + " Roll No : " + item.getRollno());
});
}
}
Вывод:
Name : john Roll No : 123
Name : Ram Roll No : 124