<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    內蒙古java團隊

    j2se,j2ee開發組
    posts - 139, comments - 212, trackbacks - 0, articles - 65
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
    Java代碼

      import java.lang.reflect.Field;

      import java.lang.reflect.InvocationTargetException;

      import java.lang.reflect.Method;

      import java.util.ArrayList;

      import java.util.HashMap;

      import java.util.Iterator;

      import java.util.List;

      import java.util.Map;

      import net.sf.json.JSONArray;

      import com.hysoft.commons.test.User;

      /************************************************************************

      * JSON工具類

      *

      * @author cobra

      * @see com.hysoft.commons.xml.JSONHelper

      * @since jdk1.6

      * @version version1.0

      * @date 2010/09/03

      *

      ************************************************************************/

      public class JSONHelper {

      /**

      * 傳入一個簡單的List經過解析返回JSON

      *

      * @param list? 傳入參數list

      *

      * @return String 返回解析過后的JSON格式例如[{"abc"},{"edf"},{"xyz"}]

      */

      public static String getJSONByList(List<?> list) {

      StringBuffer buffer = new StringBuffer();

      buffer.append("[{");

      for (int i = 0; i < list.size(); i++) {

      buffer.append("\"").append(list.get(i) != null ? list.get(i).toString() : "").append("\",");

      }

      return buffer.substring(0, buffer.length() - 1).concat("}]");

      }

      /**

      * 傳入一個Map經過解析返回JSON

      *

      * @param map 傳入參數map

      *

      * @return String 返回解析過后的JSON格式例如[{"age","24","name","ty"}]

      */

      @SuppressWarnings("unchecked")

      public static String getJSONByMap(Map<String, Object> map) {

      Iterator<?> iter = map.entrySet().iterator();

      StringBuffer buffer = new StringBuffer();

      buffer.append("[{");

      while (iter.hasNext()) {

      Map.Entry<String, Object> entry = (Map.Entry<String, Object>) iter.next();

      buffer.append("\"").append(entry.getKey() != null ? entry.getKey() : "").append("\",").append("\"").append(entry.getValue() != null ? entry.getValue() : "").append("\",");

      }

      return buffer.substring(0, buffer.length() - 1).concat("}]");

      }

      /**

      * 傳入一個List經過解析返回JSON

      *

      * @param list 傳入參數list

      *

      * @return String 返回解析過后的JSON格式例如[{"age","24","name","ty"},{"age","20","name","tt"}]

      */

      public static String getJSONByBeanList(List<?> list) {

      StringBuffer buffer = new StringBuffer();

      try {

      Class<?> clazz = list.get(0).getClass();

      Field fields[] = clazz.getDeclaredFields();

      buffer.append("[");

      for (int i = 0; i < list.size(); i++) {

      buffer.append("{");

      for (int j = 0; j < fields.length; j++) {

      String fieldName = fields[j].getName();

      String firstLetter = fieldName.substring(0, 1).toUpperCase(); // 獲得和屬性對應的getXXX()方法的名字

      String getMethodName = "get" + firstLetter + fieldName.substring(1); // 獲得和屬性對應的getXXX()方法的名字

      Method getMethod = clazz.getMethod(getMethodName, new Class[] {}); // 獲得和屬性對應的getXXX()方法

      Object value = getMethod.invoke(list.get(i), new Object[] {});

      buffer.append("\"" + fieldName + "\":\"" + value + "\",");

      }

      buffer = new StringBuffer(buffer.substring(0, buffer.length()-1));

      buffer.append("},");

      }

      } catch (SecurityException e) {

      e.printStackTrace();

      } catch (NoSuchMethodException e) {

      e.printStackTrace();

      } catch (IllegalArgumentException e) {

      e.printStackTrace();

      } catch (IllegalAccessException e) {

      e.printStackTrace();

      } catch (InvocationTargetException e) {

      e.printStackTrace();

      }

      return buffer.substring(0, buffer.length() - 1).concat("]");

      }
    /**

      * 傳入一個Bean經過解析返回JSON

      *

      * @param object 傳入參數Bean

      *

      * @return String 返回解析過后的JSON格式例如[{"age","24","name","ty"}]

      */

      public static String getJSONByBean(Object object) {

      StringBuffer buffer = new StringBuffer();

      try {

      Class<?> clazz = object.getClass();

      Field fields[] = clazz.getDeclaredFields();

      buffer.append("[{");

      for (int j = 0; j < fields.length; j++) {

      String fieldName = fields[j].getName();

      String firstLetter = fieldName.substring(0, 1).toUpperCase();

      String getMethodName = "get" + firstLetter + fieldName.substring(1);

      Method getMethod = clazz.getMethod(getMethodName, new Class[] {});

      Object value = getMethod.invoke(object, new Object[] {});

      buffer.append("\"" + fieldName + "\":\"" + value + "\",");

      }

      } catch (SecurityException e) {

      e.printStackTrace();

      } catch (NoSuchMethodException e) {

      e.printStackTrace();

      } catch (IllegalArgumentException e) {

      e.printStackTrace();

      } catch (IllegalAccessException e) {

      e.printStackTrace();

      } catch (InvocationTargetException e) {

      e.printStackTrace();

      }

      return buffer.substring(0, buffer.length() - 1).concat("}]");

      }

      public static String getXMLByJSON(Object object) {

      return null;

      }

      public static void main(String[] args){

      /**===========================================================================**/

      List list = new ArrayList();

      list.add("first");

      list.add("second");

      String jsonArray = JSONHelper.getJSONByList(list);

      System.out.println(jsonArray);

      /**===========================================================================**/

      Map map = new HashMap();

      map.put("name", "tianyuan");

      map.put("age", "24");

      String jsonMap = JSONHelper.getJSONByMap(map);

      System.out.println(jsonMap);

      /**===========================================================================**/

      List<Object> list1 = new ArrayList<Object>();

      User user0 = new User();

      user0.setUsername("ty");

      user0.setAge(24);

      user0.setTel("137***");

      user0.setAddress("南京");

      list1.add(user0);

      User user1 = new User();

      user1.setUsername("tz");

      user1.setAge(21);

      user1.setTel("158***");

      user1.setAddress("南京");

      list1.add(user1);

      String jsonList = JSONHelper.getJSONByBeanList(list1);

      System.out.println(jsonList);

      /**===========================================================================**/

      User user2 = new User();

      user2.setUsername("tianyuan");

      user2.setAge(24);

      user2.setTel("13770583115");

      user2.setAddress("南京");

      JSONArray jsonBean = JSONArray.fromObject(user0);

      System.out.println(jsonBean);

      }

      }


    評論

    # re: JAVA把各種數據結構轉換為JSON格式  回復  更多評論   

    2013-06-08 17:18 by noname
    給你個建議,用fastjson
    主站蜘蛛池模板: 亚洲最大av资源站无码av网址| 亚洲欧洲日产国产综合网| 在线观看亚洲AV每日更新无码| 国产成人久久AV免费| 亚洲综合熟女久久久30p| 精品乱子伦一区二区三区高清免费播放| 亚洲av无码成人精品区| 曰批全过程免费视频在线观看| 精品日韩亚洲AV无码一区二区三区 | 在线观看亚洲精品专区| 国产在线ts人妖免费视频| 国产亚洲蜜芽精品久久| 亚洲av无码天堂一区二区三区| 国产精品亚洲精品日韩动图| 亚洲AV无码乱码精品国产| 国产成人亚洲综合在线| 亚洲成av人片不卡无码久久| 特黄特色大片免费| 亚洲男同帅GAY片在线观看| 精品一区二区三区免费毛片爱 | 久久国产亚洲电影天堂| 亚洲精品免费在线观看| 亚洲一卡二卡三卡| 全部免费毛片在线| 国产麻豆成人传媒免费观看| 亚洲图片在线观看| 免费看片A级毛片免费看| 一级毛片a免费播放王色电影 | 亚洲精品无码成人AAA片| 国产精品入口麻豆免费观看| 亚洲精品无码不卡在线播放| 亚洲AV永久无码精品一区二区国产 | 红杏亚洲影院一区二区三区| 免费播放一区二区三区| 在线aⅴ亚洲中文字幕| 亚洲麻豆精品国偷自产在线91| 久久免费视频精品| 色偷偷噜噜噜亚洲男人| 久久亚洲AV无码精品色午夜麻| 最近中文字幕mv免费高清视频7| 产传媒61国产免费|