Java实体类转换成JSON(用于前端接口联调参数)

        System.out.println("转换JSON数据:"+JSON.toJSONString(new work(), SerializerFeature.WriteMapNullValue));

根据数据库生成json数据

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.alibaba.fastjson.serializer.SerializerFeature;
import org.json.JSONArray;
import org.json.JSONObject;

public class jsonUtil {
    private static Pattern linePattern = Pattern.compile("_(\\w)");
    public static void main(String[] args) {
        //JSON.toJSONString(obj, SerializerFeature.WriteMapNullValue);
        String driver = "com.mysql.jdbc.Driver";

//这里我的数据库名字是Person,改成你自己的数据库名
        String url = "jdbc:mysql://***********";
        String user = "****";
        String pwd = "*******";
        try {
            Class.forName(driver);
            Connection con = DriverManager.getConnection(url,user,pwd);
            Statement stet = con.createStatement();

//我的数据库Person中的表student,改成你自己的表
            String sql = "select * from t_student";

            ResultSet rs = stet.executeQuery(sql);
            ResultSetMetaData metaData = rs.getMetaData();
            int columnCount= metaData.getColumnCount();
            JSONArray array = new JSONArray();
            while(rs.next()){
                JSONObject jsonObj = new JSONObject();
                for(int i = 1; i <= columnCount;i++)
                {
                    String columnName = metaData.getColumnLabel(i);
                    String value =rs.getString(columnName);
                    jsonObj.put(lineToHump(columnName), value);
                }
                array.put(jsonObj);
            }
            System.out.println("转换JSON数据:");
            System.out.println(array.toString());
            con.close();

        } catch (Exception e) {

            e.printStackTrace();// TODO: handle exception
        }
    }
    /** 下划线转驼峰 */
    public static String lineToHump(String str) {
        str = str.toLowerCase();
        Matcher matcher = linePattern.matcher(str);
        StringBuffer sb = new StringBuffer();
        while (matcher.find()) {
            matcher.appendReplacement(sb, matcher.group(1).toUpperCase());
        }
        matcher.appendTail(sb);
        return sb.toString();
    }
}

 


版权声明:本文为qq_26676207原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。