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; }
}
ProizvodiLista.classに変換しようとしているレスポンスの価値は何ですか? –
これはfidlerからの私の応答です(結果はAndroidの応答変数と同じです) http://vpaste.net/VIuVC PS:C#とJacaクラスの両方からPublic byte [] SlikaThumbを除外しますが、エラーは依然として同じです。 – TariqN