• Java


     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 }

     

  • 相关阅读:
    jquery大文件(视频)上传解决方案
    ajax大文件(视频)上传解决方案
    JavaScript大文件(视频)上传解决方案
    js大文件(视频)上传解决方案
    vue大文件(视频)上传解决方案
    前端大文件(视频)上传解决方案
    网页大文件(视频)上传解决方案
    Web大文件(视频)上传解决方案
    http大文件(视频)上传解决方案
    B/S大文件(视频)上传解决方案
  • 原文地址:https://www.cnblogs.com/rdchen/p/12806832.html
Copyright © 2020-2023  润新知