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

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

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

    內蒙古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(); // 獲得和屬性對應的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經(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ù)結構轉換為JSON格式  回復  更多評論   

    2013-06-08 17:18 by noname
    給你個建議,用fastjson
    主站蜘蛛池模板: 免费一级毛suv好看的国产网站| 亚洲成色在线影院| 亚洲成av人片在线天堂无| 国产卡二卡三卡四卡免费网址| 亚洲最大黄色网站| 无码人妻精品中文字幕免费东京热| 亚洲自偷精品视频自拍| 皇色在线视频免费网站| 亚洲日韩精品无码专区加勒比| 麻豆国产VA免费精品高清在线| 亚洲av无码成人精品国产| 国产成人精品免费视频大全五级| 羞羞视频网站免费入口| 伊人久久综在合线亚洲91| 国产无遮挡裸体免费视频在线观看| 国产亚洲成av片在线观看 | 国产免费一区二区三区| 国产精品亚洲一区二区麻豆| 国产精品二区三区免费播放心 | 亚洲精品天天影视综合网| 91香蕉在线观看免费高清| 亚洲视频在线观看2018| 免费一级毛片一级毛片aa| 一级毛片aa高清免费观看| 亚洲AV无码国产在丝袜线观看| 亚洲人成免费电影| 亚洲国产成人AV网站| 亚洲伊人久久精品影院| 国产成人yy免费视频| 亚洲国产午夜精品理论片在线播放| 亚洲精品无码日韩国产不卡?V| 国产免费一区二区三区在线观看| 91嫩草亚洲精品| 亚洲国产精品尤物YW在线观看| 99在线观看视频免费| 亚洲Av无码国产一区二区| 国产亚洲欧洲精品| 女人被男人桶得好爽免费视频| 成人免费一区二区三区 | 麻豆亚洲AV永久无码精品久久| 成人网站免费观看|