for (int i = 0; i < jsonArray.length(); i++) {
JSONObject row = jsonArray.getJSONObject(i);
String itemid = row.optString("id");
JSONArray arry = row.getJSONArray("values");
if(i == 0){
}
else{
final int ar = arry.length();
final int tot = g + ar ;
int h = 0;
for (int j = g ; j < tot; j++) {
JSONObject rw = arry.getJSONObject(h);
String extraName = rw.optString("extraName");
String extraId = rw.optString("extraId");
if(namechklist.size() > 0){
if(namechklist.contains(extraName)){
rw.put("isEnabled","1");
}
}
if(nameunchklist.size()>0){
if(nameunchklist.contains(extraName)){
rw.put("isEnabled","0");
}
}
if(j >= arry.length()){
}else{
String gh = String.valueOf(priceidslist.get(j));
if(gh.equals(extraId)){
rw.put("extraPrice",pricelist.get(j));
}
}
h++;
}
g = arry.length();
}
}
Log.d("chk", "res:last "+jsonArray.toString());
}
JSONArray extraArray = obj.getJSONArray("Extras");
for (int i = 0; i < extraArray.length(); i++) {
JSONObject rw = extraArray.getJSONObject(i);
String extraName = rw.optString("extraName");
String extraId = rw.optString("extraId");
if(exnamechklist.size() > 0){
if(exnamechklist.contains(extraName)){
rw.put("isEnabled","1");
}
}
if(exnameunchklist.size()>0){
if(exnameunchklist.contains(extraName)){
rw.put("isEnabled","0");
}
}
}
Я только что изменил условие цикла и изменил формат получения значений json, теперь он работает нормально