Java 如何在JSON中组合相同键的值
我有一个JSON对象,如下所示:Java 如何在JSON中组合相同键的值,java,android,json,swift,Java,Android,Json,Swift,我有一个JSON对象,如下所示: { "Items": [{ "Name": "CATS", "Value": 5.0 }, { "Name": "DOGS", "Value": 6.0 }, { "Name": "FISH", "Value": 9.0 }, { "Name": "CATS", "Value": 4.0 }, {
{
"Items": [{
"Name": "CATS",
"Value": 5.0
}, {
"Name": "DOGS",
"Value": 6.0
}, {
"Name": "FISH",
"Value": 9.0
}, {
"Name": "CATS",
"Value": 4.0
}, {
"Name": "DOGS",
"Value": 2.0
}, {
"Name": "FISH",
"Value": 3.0
}]
}
如您所见,每个键有2个,我想将它们减少为1,并添加所有值。因此,我想要实现的是:
{
"Items": [{
"Name": "CATS",
"Value": 9.0
}, {
"Name": "DOGS",
"Value": 8.0
}, {
"Name": "FISH",
"Value": 12.0
}]
}
实现这一点最有效的方法是什么
谢谢 您可以创建一个新的JSON数组(我们称之为
arrayA
),并开始在给定的数组中循环(我们称之为arrayB
)
开始循环遍历
arrayB
中的每个元素,并检查每个元素是否存在于arrayA
中。如果存在,则将其值添加到<代码> ARARAY中的元素的值,该代码具有相同的密钥,否则只需将其添加到<代码> ARARAY。您可以考虑使用正在使用的语言中的映射。这个映射的关键是项目名称和值,是总数。这个问题太笼统了。我会用你想要的语言把它分成几个问题。首先,因为除了查看每个元素外,没有“有效”的方法。@ColGraff我认为Swift与“Java/Android”标记不一致,因此我删除了它。另外,跨语言标记会使问题变得更广泛。我同意标记令人困惑且过于宽泛,但由于我们无法真正确定作者的意图,我们所能做的最好是鼓励作者回答或投票结束问题。对于您所描述的内容,地图比数组更好