简单javaBean对像转化为javascript可识别的对象的方法。初级文章
2008-08-24 15:11
459 查看
/**
* 用于打印一个对象的属性和属性值。
* 把DTO转换成javascript可以识别的对象。
* @return
*/
public static String objectToPropertyStringForJSON(Object obj)throws Exception
{
StringBuffer stringValue = new StringBuffer();
Class clazz = obj.getClass();
Map getMethodMap = getGetMethodMap(clazz);
Iterator iter = getMethodMap.keySet().iterator();
stringValue.append(" { ");
while(iter.hasNext())
{
String methodName = iter.next().toString();
Method md = (Method)getMethodMap.get(methodName);
Object value =md.invoke(obj,new Object[]{});
stringValue.append(dropCase(methodName));
stringValue.append(" : '");
stringValue.append(value);
stringValue.append("', ");
}
stringValue.append(" objclass : '");
stringValue.append(obj.getClass());
stringValue.append("'");
stringValue.append(" } ");
return stringValue.toString();
}
/**
* 取得对象GET方法Map
* @param clazz
* @return
* @throws Exception
*/
public static Map getGetMethodMap(Class clazz) throws Exception
{
Map getMethodMap = new HashMap();
Method[] methods = getMethod(clazz);
for(int i=0;i<methods.length;i++)
{
String name = methods[i].getName();
if(name.startsWith("get") && name.length()>3)
{
if(methods[i].getParameterTypes().length==0)
{
if(!"getClass".equals(name))
getMethodMap.put(name,methods[i]);
}
}
}
return getMethodMap;
}
private static Method[] getMethod(Class clazz)
{
return clazz.getMethods();
}
/**
* 去掉方法前面的get set is开头
* @param name
* @return
* @throws Exception
*/
public static String dropCase(String name)throws Exception
{
if(name.startsWith("is"))
name = name.substring(2);
else
if(name.startsWith("get") || name.startsWith("set"))
name = name.substring(3);
else
throw new Exception("Error parsing property name '" + name + "'. Didn't start with 'is', 'get' or 'set'.");
if(name.length() == 1 || name.length() > 1 && !Character.isUpperCase(name.charAt(1)))
name = name.substring(0, 1).toLowerCase(Locale.US) + name.substring(1);
return name;
}
* 用于打印一个对象的属性和属性值。
* 把DTO转换成javascript可以识别的对象。
* @return
*/
public static String objectToPropertyStringForJSON(Object obj)throws Exception
{
StringBuffer stringValue = new StringBuffer();
Class clazz = obj.getClass();
Map getMethodMap = getGetMethodMap(clazz);
Iterator iter = getMethodMap.keySet().iterator();
stringValue.append(" { ");
while(iter.hasNext())
{
String methodName = iter.next().toString();
Method md = (Method)getMethodMap.get(methodName);
Object value =md.invoke(obj,new Object[]{});
stringValue.append(dropCase(methodName));
stringValue.append(" : '");
stringValue.append(value);
stringValue.append("', ");
}
stringValue.append(" objclass : '");
stringValue.append(obj.getClass());
stringValue.append("'");
stringValue.append(" } ");
return stringValue.toString();
}
/**
* 取得对象GET方法Map
* @param clazz
* @return
* @throws Exception
*/
public static Map getGetMethodMap(Class clazz) throws Exception
{
Map getMethodMap = new HashMap();
Method[] methods = getMethod(clazz);
for(int i=0;i<methods.length;i++)
{
String name = methods[i].getName();
if(name.startsWith("get") && name.length()>3)
{
if(methods[i].getParameterTypes().length==0)
{
if(!"getClass".equals(name))
getMethodMap.put(name,methods[i]);
}
}
}
return getMethodMap;
}
private static Method[] getMethod(Class clazz)
{
return clazz.getMethods();
}
/**
* 去掉方法前面的get set is开头
* @param name
* @return
* @throws Exception
*/
public static String dropCase(String name)throws Exception
{
if(name.startsWith("is"))
name = name.substring(2);
else
if(name.startsWith("get") || name.startsWith("set"))
name = name.substring(3);
else
throw new Exception("Error parsing property name '" + name + "'. Didn't start with 'is', 'get' or 'set'.");
if(name.length() == 1 || name.length() > 1 && !Character.isUpperCase(name.charAt(1)))
name = name.substring(0, 1).toLowerCase(Locale.US) + name.substring(1);
return name;
}
相关文章推荐
- JavaScript 判断一个对象{}是否为空对象的简单方法
- javascript 简单语法 对象属性及方法
- 简单方法判断JavaScript对象为null或者属性为空
- javascript对象定义方法 简单易学
- JavaScript对象封装的简单实现方法(3种方法)
- javascript定义对象的几种简单方法
- JavaScript简单实现合并两个Json对象的方法示例
- 将JavaScript的jQuery库中表单转化为JSON对象的方法
- javaScript实现定时显示隐藏、BOM对象方法介绍、表单简单校验、表格换色、DOM、二级联动
- Javascript中获取数组最大值和最小值以及最大值和最小值的下标 没学对象前的最简单最基本的方法
- javascript 对象定义方法 简单易学
- Javascript基础 对象与方法的识别
- 简单方法判断JavaScript对象为null或者属性为空
- javaScript实现定时显示隐藏、BOM对象方法介绍、表单简单校验、表格换色、DOM、二级联动
- JavaScript 判断一个对象{}是否为空对象的简单方法
- javascript 对象定义方法 简单易学
- list集合怎么转化成一个javaBean对象,及常见的使用方法(全)
- 将JavaScript的jQuery库中表单转化为JSON对象的方法
- javascript 对象定义方法 简单易学
- JSON.parse()方法,将数据(字符串)转化为javascript对象