JAVA解析JSON生成sql语句,数据以文件的方式存档

最近工作需求中有一个解析层级JSON报文,根据json的key生成建表语句,json的value入库的功能,实现过程有些许坎坷,好在最终简单的实现了,还是觉得写的不够完美,现在将代码分享出来,希望有更优解的大佬可以帮忙优化优化。

项目中使用的是hive仓库,直接上代码吧。

import java.text.SimpleDateFormat;
import java.net.URI;
import java.net.URISyntaxException;
import java.io.FileWriter;
import java.io.IOException;
import org.json.JSONObject;
import org.json.JSONArray;
import org.json.JSONTokener;
import java.util.*;
import java.sql.*;

/**
 * JSONObject解析生成sql语句以及文件
 * @author jiaming.wu
 *
 */
@BeanConfig(appId = "jsonToSql",beanId = "JsonToSql",JsonToSql= "DmpIDMEmployee",beanType = BeanType.CONTROLLER,autowired = true,singleton = true,hotMode = true)
@RestConfig(url = "/rest/jsontosql")
public class JsonToSql{
	

	@RestConfig(configName = "JSON生成文件",method = MethodType.POST,url = "/getData")
	public String getData() throws Exception{
        //此处可以传入JSONString,项目中使用的是接收请求报文
	    String requestBody = RequestUtil.getRequestBody();

	    JSONObject job = new JSONObject(requestBody);
	    String mainTable = "RootTable";
	    
	    JSONObject resultJsonObj = new JSONObject();
	    JSONObject result = castJson(job,mainTable,resultJsonObj);
	    JSONObject finalJsonObj = new JSONObject();
	    finalJsonObj = getResult(finalJsonObj,result,mainTable);
	    
		return finalJsonObj.toString();
	}
	
	
	@RestConfig(configName = "数据初始化",method = MethodType.POST,url = "/upload")
	public String upLoadFile() throws Exception{
	    String requestBody = RequestUtil.getRequestBody();
	    JSONObject infoJob = new JSONObject(requestBody);
	    List<String> filedList = new ArrayList<>();
	    List<Strin
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值