私はworldbank.comからjsonを非公開にしようとしています。 jsonは次のようになります: [{"" page:1、 "pages":7、 "per_page": "50"、 "total":304}、[{"id": "ABW"、 "iso2Code" AW " "名前": "アルバ"、 "領域":{ "ID": "LCN"、 "値":" ラテンアメリカ&カリブ海「}、gsonでjsonを逆シリアル化する
を介して見つけることができる:http://api.worldbank.org/countries/?format=json
とイム私に言ってgsonの問題に実行している: WorldBankDemo:com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:期待BEGIN_OBJECTしかしBEGIN_ARRAYは行1列52パス$で[1]
た任意の手がかりとしてどのように私はこれを解決することができますか?好ましくはそれは私が(改造)を使用していネットワーキングのlibによって使用されるlibですので、gsonから
WorldBankDataService service = ServiceFactory.createRetrofitService(WorldBankDataService.class, WorldBankDataService.SERVICE_ENDPOINT);
service.getCountries()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<WorldBank[]>() {
@Override
public final void onCompleted() {
// do nothing
}
@Override
public final void onError(Throwable e) {
Log.e("WorldBankDemo", e.getMessage());
}
@Override
public final void onNext(WorldBank[] response) {
Log.d("TAG", "resp: "+response);
//mCardAdapter.addData(response);
}
});
public class ServiceFactory {
/**
* Creates a retrofit service from an arbitrary class (clazz)
* @param clazz Java interface of the retrofit service
* @param endPoint REST endpoint url
* @return retrofit service with defined endpoint
*/
public static <T> T createRetrofitService(final Class<T> clazz, final
String endPoint) {
final RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(endPoint)
.setLogLevel(RestAdapter.LogLevel.FULL)
.build();
T service = restAdapter.create(clazz);
return service;
}
}
public class WorldBank {
int page;
int pages;
String per_page;
int total;
//Country[] countrys;
}
はここ –
ショーをあなたのコードを入れて吸いますあなたのコード.... – ElefantPhace
ここにWorldBankDemo **クラスコードを入れますか? –