假设我在内存中有两个
JSONObject数组,每个对象都有一个在两个数组中相似的键:
数组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”的主键将两个数组合并在一起,这样它们就成为我服务器端的一个,然后将结果发送回我的前端 – 生成的对象的arraylist应如下所示:
合并阵列(结果)
[
{
"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中的字段.