JSON文字列をGsonを使用してオブジェクトの配列に変換する際に問題があります。私は見つけることができたすべてを試したが、何も助けなかった。 私のコードは次のとおりです。私はそう壊れるトライキャッチ原因アプリを入れていたGsonを使用してJSON文字列をオブジェクトの配列に変換する
public static ProizvodiViewModel GetProizvode(String tip) {
String strJson = HttpManager.simpleResponseGet("http://192.168.0.15:21951/api/Proizvodi/SearchProizvodiByVrsta", tip);
Gson gson = new Gson();
ProizvodiViewModel x = new ProizvodiViewModel();
x.Proizvodi = new ProizvodViewModel[]{};//tried also with this line commented
try {
//1st attempt
//x.Proizvodi = gson.fromJson(strJson, ProizvodViewModel[].class);
//2nd
//Type type = new TypeToken<List<ProizvodViewModel[]>>() {}.getType();
//x.Proizvodi = gson.fromJson(strJson, type);
//3rd and so forth (cause many of answers here on SO had almost same idea)
Type collectionType = new TypeToken<Collection<ProizvodViewModel>>() {}.getType();
Collection<ProizvodViewModel> enums = gson.fromJson(strJson, collectionType);
} catch (Exception e) {
System.out.println("ERROR IN GSON");
System.out.println(e.getMessage());
}
return x;
}
、と私はprintlnの年代を読んcouldntの。
そして、私のクラス:
public class ProizvodViewModel {
public int Id ;
public boolean IsDeleted ;
public String Naziv ;
public float Cijena ;
public byte[] Slika ;
public byte[] SlikaThumb ;
public String Status ;
public int ProizvodDetaljiId ;
public int VrstaId ;
}
public class ProizvodiViewModel
{
public ProizvodViewModel[] Proizvodi;
}
あなたがここに見ることができるように私は、JSONのデータを取得:http://pastebin.com/6C7936Uq 私は、Android Studioの1.1.0、およびAPI 16
Editを使用しています:ポストが解決問題。私は、私のapiは、バイト列の2つのプロパティを含むjsonの文字列を返していました(私はどのように)base64の文字列に変換され、私はエラーを引き起こしていたバイト配列にマップしようとしていた。 私はASPで私のAPIを書いた。なぜ誰がこれが起こったのかさらに説明する気があれば、してください。
のこの時期に必要に応じて、Genymotionは応答するのに2時間かかる。私はそれが開始し、フィードバックを与えることを可能にするコードをテストします。お返事ありがとうございました。 – Kadaj
残念ながらそれは働いていません。 私はこのエラーを受け取ります: java.lang.IllegalStateException:BEGIN_ARRAYが期待されていましたが、行1の列72のパス$ [0] .Slikaにありました バイト配列があり、それが文字列だと思いますか?これは実際にはピクチャ(バイト単位)ですが、javaがどのように解析するのか分かりません。私はC#のものだけを持っています。これは、私の大学の1つの簡単なタスクに必要なだけです。 - ' – Kadaj
これを確認してください(http://stackoverflow.com/a/28418787/6723193)。 JSONは配列でなければなりません。 JSONを共有してみてください。 – Amg91