<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色欲色欲WWW| 久久久久女教师免费一区| 国产成人免费ā片在线观看老同学 | eeuss免费天堂影院| 亚洲午夜福利精品久久| 亚洲图片校园春色| 四虎精品免费永久免费视频| 高清在线亚洲精品国产二区| 一级看片免费视频| 成人毛片免费在线观看| 一区二区三区亚洲| 91九色老熟女免费资源站| 亚洲精品综合在线影院| 国产精品无码素人福利免费| 亚洲综合视频在线观看| 亚洲国产精品免费观看| 亚洲国产欧美国产综合一区 | 亚洲 日韩经典 中文字幕| 在线免费视频一区| 有码人妻在线免费看片| 日本亚洲欧洲免费天堂午夜看片女人员| 九九精品国产亚洲AV日韩| 亚洲国产一成久久精品国产成人综合| 久久久精品国产亚洲成人满18免费网站| 亚洲AV午夜成人影院老师机影院| 免费看黄视频网站| 免费人成又黄又爽的视频在线电影| 在线a毛片免费视频观看| 色多多www视频在线观看免费| 亚洲AV无码乱码在线观看裸奔| 69堂人成无码免费视频果冻传媒 | 亚洲高清中文字幕免费| 男女男精品网站免费观看| 亚洲成色www久久网站夜月| 青青青国产在线观看免费| 一个人看的免费高清视频日本| 亚洲国产精品久久久久网站 | 在线永久免费观看黄网站| 亚洲国产精品无码观看久久| 久久久久亚洲AV成人网人人网站 |