Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JSON中组合相同键的值_Java_Android_Json_Swift - Fatal编程技术网

Java 如何在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 }, {

我有一个JSON对象,如下所示:

{
    "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”标记不一致,因此我删除了它。另外,跨语言标记会使问题变得更广泛。我同意标记令人困惑且过于宽泛,但由于我们无法真正确定作者的意图,我们所能做的最好是鼓励作者回答或投票结束问题。对于您所描述的内容,地图比数组更好