<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
    主站蜘蛛池模板: 亚洲a∨国产av综合av下载| 亚洲乱人伦精品图片| 日日躁狠狠躁狠狠爱免费视频| 男人的好看免费观看在线视频 | 亚洲AV无码专区国产乱码不卡| 亚洲成在人线aⅴ免费毛片| 亚洲国产精品久久人人爱| 足恋玩丝袜脚视频免费网站| 亚洲成综合人影院在院播放| 国产在线jyzzjyzz免费麻豆| 亚洲成aⅴ人片在线观| 无码人妻精品一二三区免费| 亚洲成av人片在www鸭子| 国产一级做a爱免费视频| 免费精品国产自产拍在线观看| 亚洲欧洲中文日韩av乱码| 中国一级毛片视频免费看| 亚洲Av综合色区无码专区桃色| 久久免费的精品国产V∧| 亚洲黄色激情视频| 免费精品国产自产拍观看| 一级毛片免费在线播放| 亚洲国产精品无码专区在线观看| 日韩精品人妻系列无码专区免费| 亚洲国产精品综合久久久| 日本免费人成黄页网观看视频| 全部在线播放免费毛片| 五月天网站亚洲小说| 成视频年人黄网站免费视频| 精品亚洲成A人在线观看青青| 亚洲色婷婷综合开心网| 91福利视频免费观看| 亚洲av色香蕉一区二区三区 | 亚洲VA综合VA国产产VA中| a级黄色毛片免费播放视频| 亚洲高清美女一区二区三区| 日本不卡在线观看免费v| 你懂的免费在线观看| 亚洲成A人片在线播放器| 国产亚洲精品福利在线无卡一| 91频在线观看免费大全|