Я пытаюсь преобразовать объект json в String с помощью gson. Ниже приведен код
List<Student> studs = //from db
int count = studs.size();
Integer tot_pages= count/limit;
if(page>tot_pages){
page=tot_pages;
}
Integer start=limit*page-limit;
Gson gson = new Gson();
JsonObject jObj= new JsonObject();
jObj.addProperty("page", page);
jObj.addProperty("total",tot_pages);
jObj.addProperty("records",count);
JsonArray cell = new JsonArray();
JsonArray rows = new JsonArray();
JsonObject row= new JsonObject();
for(Student stud: studs){
row= new JsonObject();
row.addProperty("id", stud.getId());
cell=new JsonArray();
JsonPrimitive name = new JsonPrimitive(stud.getName());
JsonPrimitive rollno = new JsonPrimitive(stud.getRollno());
JsonPrimitive yr = new JsonPrimitive(stud.getYr());
cell.add(name);
cell.add(rollno);
cell.add(yr);
row.add("cell", row);
rows.add(row);
System.out.println(stud.getId());
}
System.out.println("done");
jObj.add("rows", rows);
System.out.println("done1");
return gson.toJson(jObj);
и получаю ошибку ниже
Вызванный: java.lang.StackOverflowError на java.lang.AbstractStringBuilder.append (AbstractStringBuilder.java:416) на Java. lang.StringBuffer.append (StringBuffer.java:237) на java.io.StringWriter.write (StringWriter.java:101) на com.google.gson.stream.JsonWriter.string (JsonWriter.java:534) на com.google.gson.stream.JsonWriter.writeDeferredName (JsonWriter.java:402) на com.google.gson.stream.JsonWriter.value (JsonWriter.java:495) в com.google.gson.internal.bind.TypeAdapters $ 25.write (TypeAdapters.java:686) по адресу com.google.gson .internal.bind.TypeAdapters $ 25.write (TypeAdapters.java:704) в com.google.gson.internal.bind.TypeAdapters $ 25.write (TypeAdapters.java:704) в com.google.gson.internal .bind.TypeAdapters $ 25.write (TypeAdapters.java:704) на com.google.gson.internal.bind.TypeAdapters $ 25.write (TypeAdapters.java:704) в com.google.gson.internal.bind .TypeAdapters $ 25.write (TypeAdapters.java:704) по адресу com.google.gson.internal.bind.TypeAdapte rs $ 25.write (TypeAdapters.java:704) < ----- Эта строка повторяется много раз.
, пожалуйста, помогите мне.
Я думаю, что вы слишком много делаете ... У вас есть «Список», и вы хотите сериализовать его в строке JSON? –
MikO