Допустим, у меня есть два массива JSONObjects в памяти, и у каждого объекта есть ключ, похожий в обоих массивах:
Массив 1
[
{
"name": "Big Melons Co.",
"location": "Inner City Dubai"
"id": "1A"
},
{
"name": "Pear Flavored Juices Ltd",
"location": "Seychelles"
"id": "2A"
},
{
"name": "Squeeze My Lemons LLC",
"location": "UK"
"id": "3A"
}, {other JSON Objects...} ]
Массив 2
[
{
"acceptsCard": "true"
"id": "1A"
},
{
"acceptsCard": "false"
"id": "2A"
},
{
"acceptsCard": "false"
"id": "3A"
}, {other JSON Objects...} ]
Теперь я хочу объединить два массива вместе на основе первичного ключа «id», чтобы они стали одним на стороне моего сервера, а затем отправить результаты обратно в мой интерфейс — результирующий список объектов должен выглядеть так:
ОБЪЕДИНЕННЫЙ МАССИВ (Результат)
[
{
"name": "Great Juice Co.",
"location": "Inner City Dubai"
"acceptsCard": "true"
"id": "1A"
},
{
"name": "Pear Flavored Juices Ltd",
"location": "Seychelles"
"acceptsCard": "false"
"id": "2A"
},
{
"name": "Squeeze My Lemons LLC",
"location": "UK"
"acceptsCard": "false"
"id": "3A"
}, {other JSON Objects...} ]
Как я могу сделать это эффективно?
Я могу придумать один очень неэффективный способ сделать это (я боюсь реализовать это) - я бы прокручивал каждый элемент в массиве 1 или 2 и использовал метод equal() для строки в поле «id», чтобы увидеть совпадают ли эти два. Если они совпадают, я бы создал новый JSONObject, содержащий оба поля из массива 1 и 2.
"id"
, конечно) - person blurfus   schedule 29.09.2015