日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

java中json重复数据结构_JAVA把各种数据结构转换为JSON格式

發布時間:2023/11/30 javascript 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中json重复数据结构_JAVA把各种数据结构转换为JSON格式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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 map) {

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

StringBuffer buffer = new StringBuffer();

buffer.append("[{");

while (iter.hasNext()) {

Map.Entry entry = (Map.Entry) 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 list1 = new ArrayList();

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);

}

}

總結

以上是生活随笔為你收集整理的java中json重复数据结构_JAVA把各种数据结构转换为JSON格式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。