BandClient Object'i JSON'a dönüştürmek için sorunum var (SHARED PREFS (ANDROID) öğesinde daha sonra kullanmak üzere nesneyi kaydetmek istiyorum). Nesne GSON'a (JSON) doğru şekilde nasıl dönüştürülür?
GSON kullanarak bunu yapmak için çalıştı, ama yürütmeString json = gson.toJson(bandClient);
sırasında hep şu istisna olsun:
Süreci: xxr.com.mitracker PID: 19040 java.lang.StackOverflowError Com.google.gson.internal adresindeki . $ Gson $ Types.resolve ($ Gson $ Türler.java: 380) com.google.gson.internal adresindeki . $ Gson $ Types.resolve ($ Gson $ Türler.java: 375) com.google.gso adresinden com.google.gson.internal.tr $ Gson $ Types.resolve ($ Gson $ Türleri.java: 380) adresinden. $ Gson $ Types.resolve ($ Gson $ Türleri.java: 375) com adresinde. google.gson.internal. $ Gson $ Types.resolve ($ Gson $ Türler.java: 380)
Nasıl doğru bir şekilde çözebilirim? herhangi bir tavsiye
Yöntem kodu için
Çok teşekkürler:
private AdapterView.OnItemClickListener onListItemClickListener = new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
BandInfo[] pairedBands =
BandClientManager.getInstance().getPairedBands();
Logger.d("Clicked on item " + position);
final BandClient bandClient =
BandClientManager.getInstance().create(context, pairedBands[position]);
//mBandList.get(position).getBandClient();
MsBandHelperAssync asyncTask = new MsBandHelperAssync(new AsyncResponse() {
@Override
public void processFinish(Boolean output) {
try {
Logger.d("RETURNED " + output);
Gson gson = new Gson();
Logger.d("PLAIN OBJECT" + bandClient);
gson.toJsonTree(bandClient);
Logger.d("PASSED");
String json = gson.toJson(bandClient);
Logger.d("PASSED JSON" + json);
//Prefs.putString(Constants.Global.SHARED_PREFS_KEY_PAIRED_DEVICES, json);
Logger.d("Saved");
//CommonHelper.redirectToActivity(context, mActivity, DashboardActivity.class);
} catch (Exception e) {
Logger.e(e.getMessage());
}
}
});
asyncTask.execute(bandClient);
Bir StackOverflowError alıyorsunuz, çünkü sonsuz bir özyinelemede kalıyorsunuz. – chRyNaN
Lütfen bana nerede olduğunu söyleyebilir misiniz? – redrom