JSONObject的key值大小写修改
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; } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。