一、javabean反射工具类,可以在控制台中输出一个对象的属性值列表
public class ReflectionUtil {
public static boolean isShow = true; //是否启用
/**
* 获得一个对象的属性值
* @author:qiuchen
* @createTime:2012-7-4
* @param obj 目标对象
*/
@SuppressWarnings("unchecked")
public static void getFieldValue(Object obj){
if (isShow) getFieldValue(obj, isShow);
}
/**
* 获得一个对象的属性值
* @author:qiuchen
* @createTime:2012-7-4
* @param obj 目标对象
*/
@SuppressWarnings("unchecked")
private static void getFieldValue(Object obj,boolean isShow){
Class cls = obj.getClass();
Method[] methods = cls.getDeclaredMethods();//获得类的方法集合
StringBuffer buffer = new StringBuffer();
try {
for (Method method : methods) {
if(method!=null && method.getName().startsWith("get")){
Object value = method.invoke(obj, null);
value = method.getName().substring(3)+":"+value+",";
buffer.append(value);
}
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(cls.toString()+"["+buffer.toString()+"]");
}
public static void main(String[] args) {
}
}
二、F盘的属性文件内容
### fastjs### fastjson操作JSON ###
json1={"name":"cena","age":"35","sex":"男"}
json2=[{"name":"cena","age":"35","sex":"男"},{"name":"hhh","age":"37","sex":"男"},{"name":"ever","age":"25","sex":"女"}]
json3={"name":"cena","age":"35","sex":"男","hobbies":[{"name":"踢球","hYear":"2年"},{"":"","":""}]}
三、FastJson工具类
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ttpod.slt.model.Hobby;
import com.ttpod.slt.model.User;
public class JsonUtil {
/**
* 从json字符串中解析出java对象
* @author:qiuchen
* @createTime:2012-7-8
* @param jsonStr json格式字符串
* @param clazz java类
* @return clazz的实例
*/
public static Object parseJavaObject(String jsonStr,Class clazz){
return JSON.toJavaObject(JSON.parseObject(jsonStr), clazz);
}
/**
* 测试方法
* @author:qiuchen
* @createTime:2012-7-8
* @param args
*/
public static void main(String[] args) {
//0.0加载属性文件(所有json字符串从文件中读取)
Properties pp = PropertiesUtil.getProperties("f:/properties.properties");
//0.1简单格式的json字符串
String json1 = pp.getProperty("json1");
System.out.println(json1);
User user = (User)JsonUtil.parseJavaObject(json1,User.class);
ReflectionUtil.getFieldValue(user);
//0.2数组形式的json字符串
String json2 = pp.getProperty("json2");
System.out.println(json2);
JSONArray array = JSONArray.parseArray(json2);
List<User> userList = new ArrayList<User>();
for(int i = 0; i < array.size();i++){
JSONObject jobj = (JSONObject)array.get(i);
User user2 = JSON.toJavaObject(jobj,User.class);
userList.add(user2);
}
for(User u : userList){
ReflectionUtil.getFieldValue(u);
}
//0.3复杂数组形式的json字符串
String json3 = pp.getProperty("json3");
System.out.println(json3);
User user3 = (User)JsonUtil.parseJavaObject(json3, User.class);
ReflectionUtil.getFieldValue(user3);
for(Hobby h : user3.getHobbies()){
ReflectionUtil.getFieldValue(h);
}
}
}
分享到:
相关推荐
java使用fastJson处理复杂Json字符串,直接获取key对应的value值
主要介绍了Java fastjson解析json字符串实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
java使用fastjson解析json字符串,附fastjson包,后台接口需输出json格式字符串,非xml格式
在日常的web前端开发过程中,将骨骼动画中、或者其他大的json文件去掉空格、换行,压缩,是每次发布过程中必须的操作
使用阿里巴巴提供的fastjson可以快速的实现java对象和json串之间的相互转换,避免字符串拼接的繁琐!
fastjson-1.2.83.jar下载,fastjson是阿里巴巴的开源JSON解析库,可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也支持从JSON字符串反序列化到JavaBean。fastjson采用全新的JSON解析算法,运行速度极快...
Fastjson是一个Java库,可用于将Java对象转换为其JSON表示形式。它还可用于将 JSON 字符串转换为等效的 Java 对象。Fastjson 可以使用任意 Java 对象,包括您没有源代码的预先存在的对象。
主要介绍了FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换,非常不错,具有参考借鉴价值,需要的朋友可以参考下
1.FastJson的介绍: JSON协议使用方便,越来越流行,...1.JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换 2.JSONObject:fastJson提供的json对象 3.JSONArray:fastJson提供json数组对象
java转JSON串的几种方式: 1、将java对象转成json串 2、通过JSONObject生成json串 3、通过json字符串生成json串 代码通过阿里的fastjson包实现。
字符串、数组和json转换alibaba.fastjson版引用所需jar包,net.sf.json在转换JSONArray为集合不方便,通过alibaba.fastjson转换的比较方便
FastJson对于json格式字符串的解析主要用到了下面三个类: 1.JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换 2.JSONObject:fastJson提供的json对象 3.JSONArray:fastJson提供json数组...
FastJson对于json格式字符串的解析主要用到了下面三个类: 1.JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换 2.JSONObject:fastJson提供的json对象 3.JSONArray:fastJson提供json数组...
主要介绍了详解json串反转义(消除反斜杠),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要介绍了SpringBoot如何使用Fastjson解析Json数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Fastjson是阿里巴巴的开源JSON解析库,可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到Java Bean。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web...
FastJson对于json格式字符串的解析主要用到了下面三个类: 1.JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换 2.JSONObject:fastJson提供的json对象 3.JSONArray:fastJson提供json...
fastjson是由阿里巴巴提供的,fastJson对于json格式字符串的解析主要用到了一下三个类: JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换。 JSONObject:fastJson提供的json对象。 ...
包含fastjson-1.1.35.jar和 json-lib-2.4-jdk15.jar。
OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中 writeValueAsString(obj):将对象转为json字符串 2. 注解: 1. @JsonIgnore:排除属性。 2. @JsonFormat:属性值得格式化 @...