1

ARRAY をパラメーターとして json を返す Web サービスを呼び出す Android 用のアプリを作成しています。すべての設定を確認して簡単に保存できます。

問題は、JSON オブジェクト内で返された配列を取得するときです。

JSON の例:

[{"codigoArticulo":"0001","nombreArticulo":"CHULETAS DE CORDERO","factorVentasDefecto":"KG","precio":21.95,"factoresDeVenta":["KG","UN"]},{"codigoArticulo":"0007","nombreArticulo":"FALDETA DE CORDERO","factorVentasDefecto":"KG","precio":11.95,"factoresDeVenta":["KG","FL"]}]

「codigoArticulo」、「nombreArticulo」、「factorVentasDefecto」、「precio」は簡単に保存できますが、「factoresDeVenta」を保存する方法がわかりません。

私はこのコードを持っています:

JSONArray resparray = new JSONArray(JSONdevuelto);

        for (int i = 0; i < resparray.length(); i++) {
            JSONObject respJSON = resparray.getJSONObject(i);

            int IDArticulo = respJSON.getInt("codigoArticulo");
            String NombreArticulo =  respJSON.getString("nombreArticulo");
            String FactordeVenta =  respJSON.getString("factorVentasDefecto");
            int PrecioArticulo = respJSON.getInt("precio");
}

「factoresDeVenta」の変数を1つの配列に保存するにはどうすればよいですか?

私は試します

String[] Factores = respJSON.getJSONArray("factoresDeVenta");

しかし、互換性のないタイプであるため、機能しません。

後でスピナーを作成するには配列が必要です

ありがとうございました。

4

3 に答える 3

0
JSONArray jArray = respJSON.getJSONArray("factoresDeVenta");

に格納されているデータの配列が得られますfactoresDeVenta。これを再度トラバースして、その配列から個々の要素を取得できます。

于 2013-06-06T10:43:31.270 に答える
0

に収納できますArrayList<String>

ArrayList<String> arrStr = new ArrayList<String>();

JSONArray jArray = respJSON.optJSONArray("factoresDeVenta");

for (int i = 0; i < jArray.length(); i++) {
     arrStr.add(jArray.getString(i));    
}

そして、arraylistを文字列配列に変換できます

String[] Factores = arrStr.toArray(new String[arrStr.size()]);
于 2013-06-06T10:53:17.063 に答える