package com.oopdev.io.util.generic; import java.net.URLDecoder; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; import java.util.Map.Entry; import com.oopdev.io.util.validators.IOValueValidator; public class IOQueryUtil { @SuppressWarnings("deprecation") public static Map<String, String> queryStringToMap(String queryString) { Map<String, String> map=new LinkedHashMap<String, String>(); if(IOValueValidator.isEmpty(queryString)) return map; for (String pair : queryString.split("&")) { int eq = pair.indexOf("="); if (eq < 0) { map.put(URLDecoder.decode(pair), ""); } else { map.put(URLDecoder.decode(pair.substring(0, eq)), URLDecoder.decode(pair.substring(eq + 1))); } } return map; } @SuppressWarnings("deprecation") public static String queryStringToJson(String queryString){ if(IOValueValidator.isEmpty(queryString)) return "{}"; String jsonData=""; Map<String,String> queryMap=new LinkedHashMap<String, String>(); for (String pair : queryString.split("&")) { int eq = pair.indexOf("="); if (eq < 0) { // key with no value jsonData="\""+URLDecoder.decode(pair)+"\""+":"+"\""+"\" ,"; } else { // key=value String key = URLDecoder.decode(pair.substring(0, eq)); String value = URLDecoder.decode(pair.substring(eq + 1)); if(!IOValueValidator.isEmpty(key)){ jsonData+="\""+key.trim()+"\""+":"+"\""+value.trim()+"\" ,"; } } } jsonData=jsonData.substring(0,jsonData.length()-1); return "{"+jsonData+"}"; } public static String complexQueryToJson(String queryString){ Map<String, String> map=new LinkedHashMap<String, String>(); if(IOValueValidator.isEmpty(queryString)) return "{ }"; for (String pair : queryString.split("&")) { int eq = pair.indexOf("="); if (eq < 0) { String key = URLDecoder.decode(pair.substring(0, eq)); } else { String key = URLDecoder.decode(pair.substring(0, eq)); String value = URLDecoder.decode(pair.substring(eq + 1)); map.put(key, URLDecoder.decode(pair.substring(eq + 1))); } } return ""; } public static String createJsonData(Map<String, String> map,int level){ String data=""; for (Entry<String, String> entry : map.entrySet()) { String[] values=entry.getKey().split("."); String result=""; if(values.length>level){ String deger=values[level]; result=" { "+deger+" :"; if(values.length>(level+1)){ result+=createJsonData(map, level+1); } result+=" }"; } data+=result; } data+=data.substring(0,data.length()-1); return data; } public static void main(String[] args) { String val1="1com.oopdev.io.xls"; String val2="com.oopdev.io.io"; String val3="com.oopdev.io.deneme"; Map<String, String> valMap=new HashMap<String, String>(); valMap.put(val1, "val1"); valMap.put(val2, "val2"); valMap.put(val3, "val3"); String data=createJsonData(valMap, 0); System.out.println(data); } }