这是我的API。如何使用JAVA将结果转换为JSON对象?
$sql1="SELECT s.* , c.*,u.*
FROM schedule_ s,course_t c, u user_t
WHERE c.course_crn=p.course_crn and s.teacher_id=u.employee_id" ;
$result=mysqli_query($con,$sql1);
if($result)
{
while($row=mysqli_fetch_array($result))
{
$data[]=$row;
}
print(json_encode($data));
您需要执行以下操作
加载mysql驱动程序: Class.forName("com.mysql.jdbc.Driver"); // You need to include and load jdbc driver
使用您的凭据、主机和端口创建连接:
String url = "jdbc:mysql://mysql_host:mysql_port/mysql_db";
String user = "mysql_user";
String pass = "mysql_pass";
Connection conn = DriverManager.getConnection(url, user, pass);
执行SQL查询:
String sql = "SELECT s.* , c.*,u.* FROM schedule_ s,course_t c, u user_t WHERE c.course_crn=p.course_crn and s.teacher_id=u.employee_id;";
PreparedStatement preparedStatement = conn.prepareStatement(sql);
ResultSet result = preparedStatement.executeQuery();
构建你的对象:
List<HashMap<String, Object>> rows = new ArrayList<HashMap<String, Object>>();
ResultSetMetaData md = result.getMetaData();
int columns = md.getColumnCount();
while (result.next()) {
HashMap<String, Object> row = new HashMap<>();
for (int i = 1; i <= columns; ++i) {
row.put(md.getColumnName(i), result.getObject(i));
}
rows.add(row);
}
然后可以使用GSON将java对象转换为JSON:
String json = new Gson().toJson(rows); // You can use GSon from google to build json
System.out.println(json);