Ho bisogno di convertire la seguente classe:Convertire file Java oggetto complesso a JSON
package comS309.traxz.data;
import java.util.Collection;
import org.json.JSONException;
import org.json.JSONObject;
public class ExerciseSession {
public String DateCreated;
public String TotalTime;
public String CaloriesBurned;
public String AvgSpeed;
public String SessionName;
public String Distance;
public String SessionType;
public String UserId;
public Collection<LatLon> LatLons;
}
Dove LatLon è la seguente:
public class LatLon {
public String LatLonId;
public String Latitude;
public String Longitude;
public String ExerciseSessionId;
public String LLAveSpeed;
public String Distance;
}
Quindi la Classe ExerciseSession ha una collezione di oggetti LatLon. Ora ho bisogno di convertire The ExerciseSession Class in un formato Json da java e inviarlo al mio server.
Lo sto facendo sul sistema operativo Android, se questo è importante.
mia soluzione attuale è questa:
JSONObject ExerciseSessionJSOBJ = new JSONObject();
ExerciseSessionJSOBJ.put("DateCreated", this.DateCreated);
ExerciseSessionJSOBJ.put("TotalTime", this.TotalTime);
ExerciseSessionJSOBJ.put("CaloriesBurned", this.CaloriesBurned);
ExerciseSessionJSOBJ.put("AvgSpeed", this.AvgSpeed);
ExerciseSessionJSOBJ.put("SessionName", this.SessionName);
ExerciseSessionJSOBJ.put("Distance", this.Distance);
ExerciseSessionJSOBJ.put("SessionType", this.SessionType);
ExerciseSessionJSOBJ.put("UserId", this.UserId);
//add the collection
for(LatLon l: LatLons)
{
ExerciseSessionJSOBJ.accumulate("LatLons", l);
}
io non sono sicuro che questo è valido .. io sono un novizio con JSON e bisogno di aiuto. Grazie in anticipo per l'aiuto!
Questo è perfetto, grazie! – Aziz
Ciao binnyb, m conversione di oggetti complessi in JSON usando la risposta che hai fornito. Ma ho alcune eccezioni di runtime come 'java.lang.StackOverflowError: stack size 8MB' e' android.os.TransactionTooLargeException' Puoi aiutarmi a –
@OnkarNene stai passando troppi dati, la cosa migliore è puntare a esplorare la causa di questo errore e cercare di ridurre l'occorrenza di blocchi di dati così grandi, vedere questo post: http://stackoverflow.com/questions/11451393/che cosa-to-do-on-transactiontoolargeexception – binnyb