java - Android 改造预计为 BEGIN_ARRAY

标签 java android retrofit

我在改造方面遇到问题。

CryptoCompareClient.java

public interface CryptoCompareClient {
@GET("/data/pricemulti")
Call<List<CryptoPrices>> multiCryptoPrices(@Query("fsyms") String crypto,
                                   @Query("tsyms") String currency);

@GET("/data/price")
Call<CryptoPrices> singleCryptoPrice(@Query("fsym") String crypto,
                                     @Query("tsyms") String currency);
}

响应 JSON: (https://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC,ETH,LSK&tsyms=USD,EUR,PLN)

{"BTC":{"USD":6731.55,"EUR":5716.11,"PLN":24359.79},"ETH":{"USD":244.41,"EUR":207.73,"PLN":905.73},"LSK":{"USD":3.42,"EUR":2.91,"PLN":12.49}}

RetrofitInterface.java

public class RetrofitInterface {
Retrofit retrofit = RetrofitClientInstance.getRetrofitInstance();
private static final String CURRENCY="USD,EUR,PLN,BTC";
public void multiCrypto(String names){
    CryptoCompareClient client=retrofit.create(CryptoCompareClient.class);
    Call<List<CryptoPrices>> call=client.multiCryptoPrices(names,CURRENCY);
    call.enqueue(new Callback<List<CryptoPrices>>() {
        @Override
        public void onResponse(Call<List<CryptoPrices>> call, Response<List<CryptoPrices>> response) {

        }

        @Override
        public void onFailure(Call<List<CryptoPrices>> call, Throwable t) {
            Log.d("MyCrypto", "fail retrof "+t);
        }
    });
}

}

Logcat

D/MyCrypto: fail retrof java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $

最佳答案

更改Call<List<CryptoPrices>>Call<Map<String,CryptoPrices>> 。响应不是列表,而是字符串(如 ”BTC” )到数据的映射。

关于java - Android 改造预计为 BEGIN_ARRAY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52451662/

相关文章:

android - PUT 上传文件到 AWS S3 预签名 url Retrofit2 Android

android - 改造无法返回数据

javascript - 以数组为参数的 Java 和 Javascript 绑定(bind)函数

java - Android通过程序设置bottomNavigationBar中图标和文本的颜色失败

java - 用于套接字接收的 NullPointer 或者可能是套接字

android - 没有 VAO 的 Opengles 2.0

android - 具有对角线切割 View 的自定义按钮背景

java - Spark中分布式缓存的等价物?

android - MenuItem 未正确设置可见性

Android 应用 SSL 证书