我在改造中遇到错误(JSON)android

I'm getting error in retrofit(JSON) android

我正在使用改造来获取数据。当我 运行 我的应用程序时,它进入 onFailure 方法。我不知道我哪里错了。如果需要,我可以提供我的项目的更多代码文件。帮助将不胜感激。由于我是新手,请帮忙。 我已经阅读了与同一问题相关的其他问题,但其中 none 有帮助。

以下是我的代码:

public class Description extends Fragment {
private RecyclerView recyclerView;
private DescriptionAdapter adapter;
private List<DescriptionModel> DescriptList;

public Description() {
    // Required empty public constructor
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.fragment_description, container, false);
}

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    /*Create handle for the RetrofitInstance interface*/
    DescriptService service = DescriptClientInstance.getRetrofitInstance().create(DescriptService.class);
    Call<List<DescriptionModel>> call = service.getAllPhotos();
    call.enqueue(new Callback<List<DescriptionModel>>() {
        @Override
        public void onResponse(Call<List<DescriptionModel>> call, Response<List<DescriptionModel>> response) {
            DescriptList=response.body();
            generateDataList(DescriptList);
        }

        @Override
        public void onFailure(Call<List<DescriptionModel>> call, Throwable t) {
            Toast.makeText(getContext(), "Something went wrong...Please try later!", Toast.LENGTH_SHORT).show();
        }
    });
}
private void generateDataList(List<DescriptionModel> photoList) {
    recyclerView = getView().findViewById(R.id.recyclerview);
    LinearLayoutManager manager = new LinearLayoutManager(getContext());
    recyclerView.setLayoutManager(manager);
    recyclerView.setHasFixedSize(true);
    adapter = new DescriptionAdapter(getContext(),photoList);
    recyclerView.setAdapter(adapter);
}

适配器:

public class DescriptionAdapter extends RecyclerView.Adapter<DescriptionAdapter.CustomViewHolder> {

private List<DescriptionModel> dataList;
private Context context;

public DescriptionAdapter(Context context,List<DescriptionModel> dataList){
    this.context = context;
    this.dataList = dataList;
}

class CustomViewHolder extends RecyclerView.ViewHolder {

    public final View mView;

    TextView txtTitle;
    TextView textView;

    CustomViewHolder(View itemView) {
        super(itemView);
        mView = itemView;

        txtTitle = mView.findViewById(R.id.text1);
    }
}

@Override
public CustomViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
    View view = layoutInflater.inflate(R.layout.descriptrow, parent, false);
    return new CustomViewHolder(view);
}

@Override
public void onBindViewHolder(CustomViewHolder holder, int position) {
    holder.textView.setText(dataList.get(position).getId().toString());
    holder.txtTitle.setText(dataList.get(position).getDescription());



}

@Override
public int getItemCount() {
    return (dataList==null)?0:dataList.size();
}

R.layout.fragment_description下是我的回收视图 在 description_row 下我有 textview(实际上我正在获取文本)

您的 REST 操作出了点问题。不要在 DescriptionAdapter

中查找错误

Response 您从网络接收的信息未正确映射。 JSON 数据不包含您的对象 DescriptionModel。这就是你得到错误的原因。确保您传递了 REST 调用的所有参数。

或者尝试从其他平台(如 Postman)进行相同的调用。所以你可以阅读 JSON 并查看错误所在。祝你好运!