我得到的 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
的对象。它将有一个 name
和quantity
属性,它还将覆盖 equals
方法,其中,两个Other
如果对象具有相同的name
,则认为它们是相等的和quantity
属性。
一旦你有了它,迭代你的 JSON
,创建一个新的Other
对象并将其放置在 HashSet<Other>
中。 .equals
将确保HashSet
将包含独特的项目,根据您对独特的定义。
关于java - 如何从 JSON 数组中删除重复的 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30370599/