java - 如何从 JSON 数组中删除重复的 JSON 对象

标签 java json

我得到的 JSON 如下

{
    "brands": [
        {
            "name": "ACC",
            "quantity": "0",
            "listedbrandID": 1,
            "status": "0"
        }
    ],
    "others": [
        {
            "name": "dd",
            "quantity": "55"

        },
        {
            "name": "dd",
            "quantity": "55"

        }

    ]
}

如何从 others JSON 数组中删除重复项

我已尝试如下

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;


String json = "{
    "brands": [
        {
            "name": "ACC",
            "quantity": "0",
            "listedbrandID": 1,
            "status": "0"
        }
    ],
    "others": [
        {
            "name": "dd",
            "quantity": "55"

        },
        {
            "name": "dd",
            "quantity": "55"

        }

    ]
}
";



JSONObject json_obj = new JSONObject(json);

        JSONArray array = json_obj.getJSONArray("others");

        HashMap<String, String> map = new HashMap<String, String>();

        System.out.println(array.length());

        for(int i=0;i<array.length();i++)
        {
            String name = array.getJSONObject(i).getString("name");

            String quantity = array.getJSONObject(i).getString("quantity");

            if(name!=null && !name.trim().equals(""))
            {
            map.put(name, quantity);
            }

        }

但不知道如何删除重复的 JSON,而不是仅存在于 Map 下的重复 JSON。

最佳答案

创建一个代表您的 Others 的对象。它将有一个 namequantity属性,它还将覆盖 equals方法,其中,两个Other如果对象具有相同的name,则认为它们是相等的和quantity属性。

一旦你有了它,迭代你的 JSON ,创建一个新的Other对象并将其放置在 HashSet<Other> 中。 .equals将确保HashSet将包含独特的项目,根据您对独特的定义。

关于java - 如何从 JSON 数组中删除重复的 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30370599/

相关文章:

java - 代码没有输入正确的if语句

javascript - 用方括号从对象中删除引号

javascript - 从 json 变量获取值时出现未定义值

java - JSON 解析器 : IOException: Unable to resolve host "my host address": No address associated with hostname

java - Spring Tool Suite不在启动时启动

java - 同步重绘 JButton 集合

java - 定义列表的顺序

java - 转换为 HSB 值后计算直方图均衡

java - 从 json 获取数据并抛出 org.json.JSONException

java - 如何使用 android 中的 POJO 类解析每个数组元素中具有不同键的 JSON