I'm using RxJava2 and Retrofit with ViewPager and I faced this error io.reactivex.exceptions.OnErrorNotImplementedException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $
My code below Pojo class
public class Photo {
    private String name;
    private String imageUrl;
    public Photo() {
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getImageUrl() {
        return imageUrl;
    }
    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }
}
interfaces
public interface inNetworkManager {
Observable<Photo[]> loadPhotos();
}
public interface inServices {
    @GET("heroes.php")
    Observable<Photo[]> loadPhotos();
}
NetworkManager class
public class NetworkManager implements inNetworkManager { private inServices services;
public NetworkManager() {
    initData();
}
private void initData() {
    OkHttpClient client = new OkHttpClient.Builder()
            .build();
    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(CommonsKt.getBASE_URL())
            .client(client)
            .addConverterFactory(GsonConverterFactory.create())
            .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
            .build();
    services = retrofit.create(inServices.class);
}
@Override
public Observable<Photo[]> loadPhotos() {
    return services.loadPhotos()
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread());
}
} Adapter
public class QuetoPhotoPageAdapter extends PagerAdapter {
private ArrayList<Photo> list;
private LayoutInflater inflater;
private Context context;
private AppCompatImageView imQueto;
public QuetoPhotoPageAdapter(ArrayList arrayList, Context context) {
    this.list = arrayList;
    this.context = context;
    inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
    return list.size();
}
public void addPhotos(Photo[] photos) {
    list.clear();
    notifyDataSetChanged();
    Collections.addAll(list, photos);
    notifyDataSetChanged();
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
    View view = inflater.inflate(R.layout.item_view, container, false);
    imQueto = view.findViewById(R.id.imQuote);
    Picasso.get()
            .load(String.valueOf(list.get(position)))
            .into(imQueto);
    container.addView(view, 0);
    return view;
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
    return view.equals(object);
}
}
MainActivity
public class MainActivity extends BaseActivity {
private ArrayList<Photo> list;
private QuetoPhotoPageAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    addNet();
    init();
}
/*new Consumer<Photo[]>() {
                @Override
                public void accept(Photo[] photos) throws Exception {
                    adapter.addPhotos(photos);
                }
            }*/
private void addNet() {
    inNetworkManager manger = ((App) getApplication()).getManager();
    Disposable d = manger.loadPhotos()
            .subscribe(photos -> adapter.addPhotos(photos));
    addDispose(d);
}
 private void init() {
        adapter = new QuetoPhotoPageAdapter(list, MainActivity.this);
    }
 
     
    