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

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

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

    內(nèi)蒙古java團隊

    j2se,j2ee開發(fā)組
    posts - 139, comments - 212, trackbacks - 0, articles - 65
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    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經(jīng)過解析返回JSON

      *

      * @param list? 傳入?yún)?shù)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經(jīng)過解析返回JSON

      *

      * @param map 傳入?yún)?shù)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經(jīng)過解析返回JSON

      *

      * @param list 傳入?yún)?shù)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(); // 獲得和屬性對應(yīng)的getXXX()方法的名字

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

      Method getMethod = clazz.getMethod(getMethodName, new Class[] {}); // 獲得和屬性對應(yīng)的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經(jīng)過解析返回JSON

      *

      * @param object 傳入?yún)?shù)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把各種數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為JSON格式  回復(fù)  更多評論   

    2013-06-08 17:18 by noname
    給你個建議,用fastjson
    主站蜘蛛池模板: 亚洲av综合avav中文| 国产亚洲精品a在线观看app| 亚洲一欧洲中文字幕在线| 3d成人免费动漫在线观看 | 国产美女被遭强高潮免费网站| 亚洲日本在线观看网址| 97视频免费观看2区| 精品亚洲国产成AV人片传媒| 99久久人妻精品免费一区| 777亚洲精品乱码久久久久久| 久久久久久夜精品精品免费啦| 亚洲激情视频在线观看| 最近免费最新高清中文字幕韩国| 亚洲视频一区在线观看| 免费观看激色视频网站(性色)| 亚洲乱码中文字幕小综合| 成人免费一区二区无码视频| 亚洲AV永久无码精品放毛片| 国产男女猛烈无遮挡免费视频网站| 综合一区自拍亚洲综合图区| 亚洲女同成人AⅤ人片在线观看| 久久免费99精品国产自在现线| 亚洲VA中文字幕不卡无码| 精品无码免费专区毛片| 日本亚洲色大成网站www久久| 成人免费视频软件网站| 午夜免费国产体验区免费的 | 久久国产精品萌白酱免费| 亚洲黄网站wwwwww| 毛片免费观看网站| 免费看内射乌克兰女| 亚洲va在线va天堂va888www| 亚洲人成电影网站免费| 成人久久久观看免费毛片| 久久综合日韩亚洲精品色| 成人毛片18女人毛片免费96 | 久久精品国产亚洲av影院 | 狠狠综合久久综合88亚洲| jjizz全部免费看片| 色偷偷噜噜噜亚洲男人| 久久久久亚洲AV成人无码网站 |