标签:style blog color ar os java sp for 数据
JSON前后台对接数据的调试特别麻烦,最近客户对Json格式要求Key值小写,网络狂搜 用了JSON 的 config发现只能最外层改变,
只能写个递归来讲所有key值换成小写。
import java.util.Iterator; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JSONtoLowerTools { public static JSONObject transObject(JSONObject o1){ JSONObject o2=new JSONObject(); Iterator it = o1.keys(); while (it.hasNext()) { String key = (String) it.next(); Object object = o1.get(key); if(object.getClass().toString().endsWith("String")){ o2.accumulate(key.toLowerCase(), object); }else if(object.getClass().toString().endsWith("JSONObject")){ o2.accumulate(key.toLowerCase(), JSONtoLowerTools.transObject((JSONObject)object)); }else if(object.getClass().toString().endsWith("JSONArray")){ o2.accumulate(key.toLowerCase(), JSONtoLowerTools.transArray(o1.getJSONArray(key))); } } return o2; } public static JSONArray transArray(JSONArray o1){ JSONArray o2 = new JSONArray(); for (int i = 0; i < o1.length(); i++) { Object jArray=o1.getJSONObject(i); if(jArray.getClass().toString().endsWith("JSONObject")){ o2.put(JSONtoLowerTools.transObject((JSONObject)jArray)); }else if(jArray.getClass().toString().endsWith("JSONArray")){ o2.put(JSONtoLowerTools.transArray((JSONArray)jArray)); } } return o2; } }
标签:style blog color ar os java sp for 数据
原文地址:http://www.cnblogs.com/lgtrajectory/p/4080852.html