Android JSONArray中的遍历数组
我正在为android制作一个应用程序,它调用一个Web服务,返回一个json,其中包含一个数组作为参数,我可以查看所有设置并轻松保存它们 问题是当我在JSON对象中获取返回的数组时 JSON示例:Android JSONArray中的遍历数组,android,json,Android,Json,我正在为android制作一个应用程序,它调用一个Web服务,返回一个json,其中包含一个数组作为参数,我可以查看所有设置并轻松保存它们 问题是当我在JSON对象中获取返回的数组时 JSON示例: [{"codigoArticulo":"0001","nombreArticulo":"CHULETAS DE CORDERO","factorVentasDefecto":"KG","precio":21.95,"factoresDeVenta":["KG","UN"]},{"codigoArti
[{"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”,但我不知道如何保存“FactorDeventa”
我有以下代码:
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");
}
但是没有工作,因为它们是不兼容的类型
我需要阵列来制作一个微调器
多谢各位
JSONArray jArray = respJSON.getJSONArray("factoresDeVenta");
它将为您提供存储在
factoresDeVenta
中的数据数组,您可以再次遍历该数组以从该数组中获取单个元素。factoresDeVenta
是JSONObject中的JSONArray,因此您需要使用getJSONArray
或optJSONArray
并使用循环从JSONArray获取值y:
JSONArray jArray = respJSON.optJSONArray("factoresDeVenta");
for (int i = 0; i < jArray.length(); i++) {
String str_value=jArray.optString(i); //<< jget value from jArray
}
JSONArray jArray=respJSON.optJSONArray(“factoresDeVenta”);
for(int i=0;i String str_value=jArray.optString(i);//可以存储在ArrayList
调用respJSON.getJSONArray(“factoresDeVenta”)
不起作用?但是我需要里面的值,我写“String[]Factores=respJSON.getJSONArray(“factoresDeVenta”);”并且是不兼容的类型sJSONarray Factores=respJSON.getJSONArray(“factoresDeVenta”),然后迭代JSONArray来转换字符串[]内部元素是变化的,所以我想选择自动模式,而不是“getString()”,我可以?jArray。get(n)
将为您提供jArray
的n
元素。
JSONArray jArray = respJSON.optJSONArray("factoresDeVenta");
for (int i = 0; i < jArray.length(); i++) {
String str_value=jArray.optString(i); //<< jget value from jArray
}
ArrayList<String> arrStr = new ArrayList<String>();
JSONArray jArray = respJSON.optJSONArray("factoresDeVenta");
for (int i = 0; i < jArray.length(); i++) {
arrStr.add(jArray.getString(i));
}
String[] Factores = arrStr.toArray(new String[arrStr.size()]);