JSON kullanarak bir API ile iletişim kuran bir proje üzerinde çalışıyorum. Bu benim JSON'taki ilk denemem ve birkaç yıldan beri java'dan uzaktayım, lütfen benimle birlikte ol.GSON kullanarak JSON API yanıtlarını işlemenin en iyi yolu nedir?
dize 1:
[{
"apicall2":
[{
"thatField":"thatFieldData",
"someFieldsAreTheSame":"someFieldsAreTheSameData",
"otherFieldsAreNotTheSame":"otherFieldsAreNotTheSame"
}]
}]
Benim veri örnekten de görebileceğiniz gibi, API: 2
[{
"apicall1":
[{
"thisField":"thisFieldData",
"thatField":"thatFieldData",
"anotherField":"anotherFieldData"
}]
}]
Dize İşte
verilerin nasıl göründüğünü bir fikirdir kullanılan api'yi içeren bir JSON dizesini döndürür. İçindeki veriler verileri içerir. API'ların ortak birçok veri alanı var, ancak bunların ötesinde alakasızlar.DÜZENLEME: Kullanılması gereken bu API türlerinin düzinelerce vardır.
Yapmaya çalıştığım şey, tüm JSON dizelerini kabul eden ve uygun verileri içeren bir nesne döndüren bir yanıt sınıfı oluşturmaktır. Örnek için
: Kayboldum nerede
Gson gson = new Gson(); //Custom TypeAdapter goes here if needed.
Response apicall2 = gson.fromJson(apicall2String, Response.class);
System.out.println(apicall2.thatField); //Prints thatFieldData
System.out.println(apicall2.someFieldsAreTheSame); //Prints someFieldsAreTheSameData
System.out.println(apicall2.otherFieldsAreNotTheSame); //Prints otherFieldsAreNotTheSameData
budur. İşte şimdiye kadar sahip olduğum şey. Burada bir TypeAdapter kullanmam gerektiğini düşünüyorum ama bunu benim durumuma nasıl uygulayacağımı anlayamadım.
public class Response { //Change to TypeAdapter possibly?
}
public class apicall1 {
String thisField;
String thatField;
String anotherField;
}
public class apicall2 {
String thatField;
String someFieldsAreTheSame;
String otherFieldsAreNotTheSame;
}
. http://www.jsonschema2pojo.org/ –
Bu konu sınıfların yapılması o kadar da değil. JSON'dan bu sınıflara ve geri dönüşe geçişi yönetmenin en iyi yolunu bulmaktır. İlginç site hiç yok. – lumberajackshaw