2016-04-24 13 views
0

私は学校のプロジェクトに取り組んでいて、Androidプログラミングでは新しいですが、C#と.netでプログラミングの経験があります。JSONをJavaクラスに変換できません(AndroidアプリからWebApiを呼び出してください)

これは私のコードです:

public class ProizvodiAPI { 

    public class ProizvodiVM implements Serializable 
    { 
     public Integer proizvodID; 
     public String naziv; 
     public String sifra; 
     public BigDecimal cijena; 
     public Byte[] slikaThumb; 
     public String jedinicaMjere; 
     public String vrstaProizvoda; 
    } 
     public class ProizvodiLista implements Serializable 
     { 
      public List<ProizvodiVM> proizvodi; 
     } 
public static void GetAllProizvode(final MyRunnable<ProizvodiLista> onSuccess) 
    { 

     RequestQueue queue = Volley.newRequestQueue(MyApp.getContext()); 
     String url = "Proizvodi/GetProizvodiVM"; 

     // Request a string response from the provided URL. 
     StringRequest stringRequest = new StringRequest(Request.Method.GET, Config.urlApi + url, 
       new Response.Listener<String>() 
       { 
        @Override 
        public void onResponse(String response) 
        { 
         final Gson gson = MyGson.build(); 
         final ProizvodiLista model = gson.fromJson(response, ProizvodiLista.class); 
         onSuccess.run(model); 
        } 
       }, new Response.ErrorListener() 
     { 
      @Override 
      public void onErrorResponse(VolleyError error) 
      { 

       Toast.makeText(MyApp.getContext() , "That didn't work", Toast.LENGTH_LONG).show(); 
      } 
     }); 
     // Add the request to the RequestQueue. 
     queue.add(stringRequest); 
    } 
} 

プログラムは、ここにクラッシュ:

final ProizvodiLista model = gson.fromJson(response, ProizvodiLista.class); 

は、それがあるならば、私はJavaのクラスを変更し、内容を変更するにはshoud、デシリアライズをJSONでの問題ですか?ここで

は、Web APIの私のC#クラスである:あなたが受けている応答に基づいて

public class Proizvodi 
    { 
     public int ProizvodID { get; set; } 
     public string Naziv { get; set; } 
     public string Sifra { get; set; } 
     public decimal Cijena { get; set; } 
     public byte[] SlikaThumb { get; set; } 

     public string JedinicaMjere { get; set; } 
     public string VrstaProizvoda { get; set; } 
    } 
+0

ProizvodiLista.classに変換しようとしているレスポンスの価値は何ですか? –

+0

これはfidlerからの私の応答です(結果はAndroidの応答変数と同じです) http://vpaste.net/VIuVC PS:C#とJacaクラスの両方からPublic byte [] SlikaThumbを除外しますが、エラーは依然として同じです。 – TariqN

答えて

0

、それはJSONArrayではなく、単純なJSONObjectです。正しく非直列化する。

関連する問題