目录
- 1.目标需求
- 2.代码编辑
- 3.结果呈现
- 4.Gson资源jar包
1.目标需求
2.代码编辑
package com.json;
import java.sql.*;
import java.util.*;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class jsonFrom213 {
public static void main(String[] args) {
jsonFrom213 h = new jsonFrom213();
con = h.getConnection();
lis = queryData();
getData = jsonGet(lis);
distinctData(getData);
}
private static Connection con;
private static PreparedStatement pStmt;
private static ResultSet res;
private static ArrayList lis;
private static ArrayList getData;
private static String url = "jdbc:mysql://127.0.0.1:3306/digitalrm";
private static String user = "dop_admin";
private static String password = "dop_admin123";
public Connection getConnection() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("数据库驱动加载成功");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
con = DriverManager.getConnection(url, user, password);
System.out.println("数据库连接成功"+"\n");
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
public static ArrayList queryData() {
ArrayList lis = new ArrayList();
try {
String sql = "SELECT * FROM irs_resources_apply limit 500";
pStmt = con.prepareStatement(sql);
res = pStmt.executeQuery();
System.out.println("阶段1:读取数据");
while (res.next()) {
lis.add(res.getString("data_json"));
}
res.close();
pStmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("queryData执行完毕!");
return lis;
}
public static ArrayList jsonGet(ArrayList lis) {
ArrayList getData = new ArrayList();
System.out.println("\n"+"阶段2:执行jsonGet解析json数据");
System.out.println("数据长度:"+lis.size());
try {
for (int i = 0; i < lis.size(); i++) {
String jstr = (String) lis.get(i);
JsonParser parser = new JsonParser();
JsonElement jsonTree = parser.parse(jstr);
if(jsonTree.isJsonObject()){
JsonObject jsonObject = jsonTree.getAsJsonObject();
JsonElement f1 = jsonObject.get("applyElement");
if(f1 != null){
JsonArray f2arr = f1.getAsJsonArray();
if (f2arr.get(0).isJsonObject()) {
JsonObject f3obj = f2arr.get(0).getAsJsonObject();
JsonElement f3 = f3obj.get("projectName");
if (f3 != null){
getData.add(f3.toString());
}
}
}
}
}
System.out.println("jsonGet执行完毕!"+"\n");
} catch (Exception e) {
e.printStackTrace();
}
return getData;
}
public static void distinctData(ArrayList getData) {
try{
System.out.println("阶段3:json解析数据去重");
HashSet hs = new HashSet(getData);
System.out.println(hs);
System.out.println("distinctData执行完毕!");
} catch ( Exception e) {
e.printStackTrace();
}
}
}
3.结果呈现
4.Gson资源jar包
链接:https://pan.baidu.com/s/1XQNmpHzsDYIez2MsIf-KTQ
提取码:btj3