Java - net.sf.json之修改JSONObject 中的key值,全部變為小寫


 1 package com.ytd.ebos.platform.util;
 2 
 3 import java.util.Iterator;
 4 
 5 import net.sf.json.JSONArray;
 6 import net.sf.json.JSONObject;
 7 
 8 /**
 9  * @author Administrator
10  *  JSONObject中 鍵值對 的值 有三種類型 
11  *  1,String 
12  *  2,JSONObject
13  *  3,JSONArray 
14  *  如果是 String,直接累積val值
15  *  如果是 JSONObject,回調第一步,直接累積val值 
16  *  如果是 JSONArray,遍歷每個JSONObject然后 回調第一步,直接累積val值累積val值
17  */
18 public class JSONtoLowerTools {
19 
20     /**
21      * @param o1
22      * @return 輸入o1 輸出o2,相當於復制了01,只是把所有key值,改為成了小寫
23      */
24     public static JSONObject transObject(JSONObject o1) {
25         JSONObject o2 = new JSONObject();
26         Iterator it = o1.keys();
27         while (it.hasNext()) {
28             //取得key值
29             String key = (String) it.next();
30             //根據key值,取得對應value值
31             Object object = o1.get(key);
32             //根據value值的類型,調用不同的方法
33             if (object.getClass().toString().endsWith("String")) {
34                 o2.accumulate(key.toLowerCase(), object);
35             } else if (object.getClass().toString().endsWith("JSONObject")) {
36                 o2.accumulate(key.toLowerCase(), JSONtoLowerTools.transObject((JSONObject) object));
37             } else if (object.getClass().toString().endsWith("JSONArray")) {
38                 //JSONArray arr = o1.getJSONArray(key);
39                 JSONArray arr = (JSONArray)object;
40                 o2.accumulate(key.toLowerCase(), JSONtoLowerTools.transArray(arr));
41             }
42         }
43         return o2;
44     }
45 
46     public static JSONArray transArray(JSONArray o1) {
47         JSONArray o2 = new JSONArray();
48         for (int i = 0; i < o1.size(); i++) {
49             Object jArray = o1.getJSONObject(i);
50             if (jArray.getClass().toString().endsWith("JSONObject")) {
51                 o2.add(JSONtoLowerTools.transObject((JSONObject) jArray));
52             } else if (jArray.getClass().toString().endsWith("JSONArray")) {
53                 o2 = JSONtoLowerTools.transArray((JSONArray) jArray);
54             }
55         }
56         return o2;
57     }
58 
59     public static void main(String[] args) {
60         JSONObject jsonObject = new JSONObject();
61         //添加String
62         jsonObject.put("ONE", "first");
63 
64         JSONObject jo0 = new JSONObject();
65         jo0.put("JO0ONE", "first");
66         jo0.put("JO0TWO", "second");
67         //添加JSONObject
68         jsonObject.put("TWO", jo0);
69 
70         JSONObject jo1 = new JSONObject();
71         JSONObject jo2 = new JSONObject();
72         jo1.put("JO1ONE", "first");
73         jo1.put("JO1TWO", "second");
74         jo2.put("JO2ONE", "first");
75         jo2.put("JO2TWO", "second");
76         JSONArray jSONArray = new JSONArray();
77         jSONArray.add(jo1);
78         jSONArray.add(jo2);
79         //添加JSONArray
80         jsonObject.put("THREE", jSONArray);
81         
82         //輸出
83          System.out.println("before -----  jsonObject: " + jsonObject.toString());
84          //調用測試
85          System.out.println("after -----   jsonObject: " + transObject(jsonObject).toString());
86     }
87 }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM