
다음과같이 JSON 형식의 유사API 에서
Pricechart의 첫번째 Price값만 추출하여 사용하고 싶습니다.
http://152.70.248.4:5000/trade/{itemId}
해당 API의 주소형식이고
public interface RetrofitInterface {
@GET("trade/{post}")
Call<DataClass> getPrice(@Path("post") String post);
}
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://152.70.248.4:5000/")
.addConverterFactory(GsonConverterFactory.create())
.build();
Call<DataClass> call = service.getPrice(6885708);
call.enqueue(new Callback<DataClass>() {
@Override
public void onResponse(Call<DataClass> call, Response<DataClass> response) {
if (response.isSuccessful()) {
DataClass result = response.body();
Log.d(TAG, "onResponse: 성공"+result.toString());
}else{
Log.d(TAG,"onResponse:실패");
}
}
onResponse: 성공PriceResult{Name=오레하 유물,Pricechart =[Lcom.example.retrofittest.PricechartData;@fb9e53b,Result=Success}
실행시키면 이런식으로 뜹니다.
public class DataClass {
@SerializedName("Name")
public String name;
@SerializedName("Pricechart")
public PricechartData[] pricechart;
@SerializedName("Result")
public String result;
@Override
public String toString(){
return "PriceResult{"+
"Name="+name+
",Pricechart ="+pricechart+
",Result="+result+'}';
}
}
public class PricechartData {
@SerializedName("Amount")
public String amount;
@SerializedName("Price")
public String price;
@Override
public String toString(){
return "PriceChart{"+
"Amount="+amount+
",Price="+price+'}';
}
}
DTO는 amount값과 price값에 쉼표가 들어가있어서 String으로 지정해뒀는데
어떻게해야 주소값을 넣으면 첫번째 Price값만 추출하여 사용할 수 있을까요..
제 짧은 지식으로는 아무리 머리를 굴려도 해답이 안나와서 도움을 청합니다.
어떤부분이 해결에 필요한지 몰라 답변으로 요청해주시면 감사하겠습니다
도움이 필요한 부분)
API에서 첫번째 price값을 item1= price1 형식으로 가져오는 방법