java对jsonarray去重复_java怎么去除JSON数组的重复值?
时间: 2024-02-21 10:01:33 浏览: 27
你可以将JSONArray转换为Set,然后再将Set转换回JSONArray即可去除重复值。下面是示例代码:
```java
JSONArray jsonArray = new JSONArray("[1,2,3,2,4,1]");
Set<Object> set = new HashSet<>(jsonArray.toList());
JSONArray uniqueJsonArray = new JSONArray(set);
System.out.println(uniqueJsonArray);
```
输出结果为:
```
[1,2,3,4]
```
相关问题
mongodb java json bson_使用Java将JSON文档数组插入MongoDB时出错
要将JSON文档数组插入MongoDB,可以使用MongoDB的Java驱动程序和BSON库来实现。
下面是一个简单的示例代码,演示如何将JSON文档数组插入MongoDB。
```java
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import org.json.JSONArray;
import org.json.JSONObject;
public class InsertJsonArrayToMongoDB {
public static void main(String[] args) {
// 创建MongoDB客户端
MongoClient mongoClient = new MongoClient("localhost", 27017);
// 获取要使用的数据库
MongoDatabase db = mongoClient.getDatabase("test");
// 获取要使用的集合
MongoCollection<Document> collection = db.getCollection("mycollection");
// 创建JSON文档数组
JSONArray jsonArray = new JSONArray();
JSONObject json1 = new JSONObject();
json1.put("name", "John");
json1.put("age", 30);
jsonArray.put(json1);
JSONObject json2 = new JSONObject();
json2.put("name", "Mary");
json2.put("age", 25);
jsonArray.put(json2);
// 将JSON文档数组转换为BSON文档数组
Document[] docs = new Document[jsonArray.length()];
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject json = jsonArray.getJSONObject(i);
Document doc = Document.parse(json.toString());
docs[i] = doc;
}
// 将BSON文档数组插入MongoDB
collection.insertMany(Arrays.asList(docs));
// 关闭MongoDB客户端
mongoClient.close();
}
}
```
需要注意的是,上述代码中将JSON文档数组转换为BSON文档数组时,使用了`Document.parse(json.toString())`方法。这是因为MongoDB的Java驱动程序不支持直接将JSONObject对象转换为BSON文档对象,需要先将JSONObject对象转换为JSON字符串,再使用`Document.parse()`方法将JSON字符串转换为BSON文档对象。
如果在插入JSON文档数组时出现错误,可以检查JSON文档的格式是否正确,以及转换为BSON文档时是否有误。
json数组获取部分数据java_java – 从JSON数组中提取数据
你可以使用Java中的JSONObject和JSONArray类来解析JSON数据。以下是一个简单的示例代码:
```java
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class JsonExample {
public static void main(String[] args) {
String jsonStr = "[{\"name\":\"John\", \"age\":30, \"city\":\"New York\"},"
+ "{\"name\":\"Jane\", \"age\":25, \"city\":\"Chicago\"}]";
try {
JSONArray jsonArray = new JSONArray(jsonStr);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObj = jsonArray.getJSONObject(i);
String name = jsonObj.getString("name");
int age = jsonObj.getInt("age");
System.out.println(name + " is " + age + " years old.");
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
```
这个示例代码从一个JSON数组中提取了每个对象的"name"和"age"属性。输出如下:
```
John is 30 years old.
Jane is 25 years old.
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)