java编写的json转select

package com.jdc.tplatform.utils;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import net.sf.json.JSONArray;
public class a {
public static void main(String[] args) {

    //JSONArray型装换成map遍历
    String jsonStr = "\n" +
            "[\n" +
            "    {\n" +
            "        \"x\":\"建筑建材\",\n" +
            "        \"y\":10\n" +
            "    },\n" +
            "    {\n" +
            "        \"x\":\"设备产品\",\n" +
            "        \"y\":20\n" +
            "    },\n" +
            "    {\n" +
            "        \"x\":\"食品加工\",\n" +
            "        \"y\":20\n" +
            "    },\n" +
            "    {\n" +
            "        \"x\":\"钢铁矿产\",\n" +
            "        \"y\":27\n" +
            "    },\n" +
            "    {\n" +
            "        \"x\":\"对外贸易\",\n" +
            "        \"y\":23\n" +
            "    },\n" +
            "    {\n" +
            "        \"x\":\"1\",\n" +
            "        \"y\":27\n" +
            "    },\n" +
            "    {\n" +
            "        \"x\":\"2\",\n" +
            "        \"y\":23\n" +
            "    }\n" +
            "]\n" +
            "\n";

    JSONArray array = JSONArray.fromObject(jsonStr);
    //System.out.println(array);
    String sqls="";
    List<Map<String, Object>> mapListJson = (List<Map<String, Object>>) array;
    for (int i = 0; i < mapListJson.size(); i++) {
        Map<String, Object> obj = mapListJson.get(i);
        String sql = "select ";
        int j= 0;
        for (Entry<String, Object> entry : obj.entrySet()) {
            String strkey1 = entry.getKey();
            Object strval1 = entry.getValue();
            if(j==obj.size()-1){
                sql = sql + " '" + strval1 + "' " + "as " + strkey1 + " ";
            }else {
                sql = sql + " '" + strval1 + "' " + "as " + strkey1 + ", ";
            }
            j++;
        }
        if(i==mapListJson.size()-1){
            sqls = sqls + sql + ";";
        }else{
        sqls = sqls + sql + " union all ";
        }
    }
    System.out.println(sqls);
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值