Я создал два JSON как следующий,Android: JSON Пользовательские Merge
Первый массив:
[
{
"id":255,
"is_new":0,
"is_checked":true,
"name":"Towel Rack 650",
"is_favourite":false
},
{
"id":257,
"is_new":0,
"is_checked":true,
"name":"Towel Rod 450",
"is_favourite":false
},
{
"id":259,
"is_new":0,
"is_checked":true,
"name":"Napkin Ring - Round",
"is_favourite":false
}
]
Второй массив:
[
{
"id":258,
"is_new":0,
"is_checked":false,
"name":"Towel Rod 650",
"is_favourite":true
},
{
"id":259,
"is_new":0,
"is_checked":false,
"name":"Napkin Ring - Round",
"is_favourite":true
}
]
В том, что я должен объединить оба массива, а также сохранить повторяющиеся значения один раз в конечном массиве.
Я использовал следующие snippet для слияния.
private JSONArray concatArray(JSONArray arr1, JSONArray arr2)
throws JSONException {
JSONArray result = new JSONArray();
for (int i = 0; i < arr1.length(); i++) {
result.put(arr1.get(i));
}
for (int i = 0; i < arr2.length(); i++) {
result.put(arr2.get(i));
}
return result;
}
Я получаю:
[
{
"id":255,
"is_new":0,
"is_checked":true,
"name":"Towel Rack 650",
"is_favourite":false
},
{
"id":257,
"is_new":0,
"is_checked":true,
"name":"Towel Rod 450",
"is_favourite":false
},
{
"id":259,
"is_new":0,
"is_checked":true,
"name":"Napkin Ring - Round",
"is_favourite":false
},
{
"id":258,
"is_new":0,
"is_checked":false,
"name":"Towel Rod 650",
"is_favourite":true
},
{
"id":259,
"is_new":0,
"is_checked":false,
"name":"Napkin Ring - Round",
"is_favourite":true
}
]
В том, что я получаю повторяющиеся значения из id
, который имеет различные значения is_checked
и is_favourite
, которые я хочу true
значение для обоих, как:
{
"id":259,
"is_new":0,
"is_checked":true,
"name":"Napkin Ring - Round",
"is_favourite":true
}
Я также пробовал SparseArray
, но не удалось. Есть какой-либо способ сделать это?
Ваша помощь будет оценена.
Вы пытаетесь избавиться от дубликата JSON (с id = 259) или вы пытаетесь изменить его значение is_checked? (Извините, я не совсем понял, на что вы нацеливаетесь) –
Согласен. Я не понимаю, когда вы хотите копировать дубликаты, а когда нет –
Я не хочу дублировать значения два раза, мне нужно это только один раз. –