API返回List <t> OR一个Object,我怎样才能得到它们?

时间:2017-10-18 21:46:58

标签: android json retrofit

这就是问题所在。数据源有时返回列表,而我的 Fileannex 模型只有一个简单文件对象的getter。

java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 3753 column 19 path $.documentlist.document[14].fileannex.file

有没有办法通过改造从响应中获取这两种类型?我尝试调整Fileannex的模型,但没有得到预期的结果。

EDIT *******************

这是&#34; Fileannex&#34;。我还没有将一些单词翻译成英文,但希望你能得到这个想法。

@SerializedName("fil")
private File file;

public Fil getFil() {
    return file;
}

这是我绑定数据的ViewHolder类......

        holder.mDownload.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String url = "";
            if( mFeedList.get(position).getFilbilaga().getFil().getUrl() != null){
                url = mFeedList.get(position).getFilbilaga().getFil().getUrl();
                Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                v.getContext().startActivity(i);
            }
            else{
                holder.mDownload.setVisibility(View.GONE);
                Toast.makeText(v.getContext(), "Not found!", Toast.LENGTH_SHORT).show();
            }
        }
    });

1 个答案:

答案 0 :(得分:1)

由于List<T>实际上是Object,我确实建议只接受Object作为输入,之后检查是List还是{{1实例。像:

File