一、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值
在开始解析JSON字符串之前,首先需要将Fastjson的依赖添加到项目中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.alibaba</groupId> <artifactId>fastjson <version>1.2.67 ...
在实际开发中,我们经常需要将JSON字符串进行格式化,以便于查看和调试,本文将详细介绍如何使用Fastjson封装一个JSON格式化工具。 首先,我们需要引入Fastjson的依赖。如果你使用的是Maven,可以在pom.xml文件中...
3. **全面支持**:支持JSON到Java对象,Java对象到JSON字符串的转换,同时支持JSON到JSON对象,JSON对象到JSON字符串的操作。 二、Fastjson的核心功能 1. **序列化**:将Java对象转换为JSON字符串。例如,一个Java...
3. 将JSON字符串转为Java对象:Fastjson提供了`parseObject()`方法,可以将JSON字符串转换为对应的Java对象。例如,如果JSON字符串代表一个`Product`对象,你可以这样转换: ```java String jsonString = "{'id':1...
在Java世界中,我们通常需要将JSON字符串解析为Java对象,或将Java对象序列化为JSON字符串,这就需要用到JSON库。在这个实例中,我们将讨论三种流行的Java JSON库:Gson、FastJson和json-lib。 1. Gson: Gson是...
在Java开发中,处理JSON字符串通常需要借助第三方库,如Gson、Jackson或Fastjson等。本篇将深入探讨“json字符串转换插件”,重点介绍如何在项目中引入和使用这类工具。 首先,我们来理解JSON的基本结构。JSON基于...
Fastjson支持Java对象与JSON之间的相互转换,包括JSON字符串到Java对象的反序列化以及Java对象到JSON字符串的序列化。它还提供了解析JSON和生成JSON的功能,可以方便地进行JSON操作,例如: 1. 将Java对象转换为...
在实际项目中,我们经常需要解析JSON字符串以获取其中的数据,这通常涉及到各种JSON解析库。在这个真实案例中,我们将深入探讨如何使用Gson库来解析复杂的JSON字符串。 Gson是Google提供的一个Java库,它能够将Java...
`JSON`类是Fastjson的核心,提供了基本的JSON操作,如对象与JSON字符串之间的转换,而`JSONArray`则代表一个JSON数组,可以存储多个JSON对象。 Fastjson的主要特点包括: 1. 性能优秀:Fastjson的设计目标就是追求...
- `JSONObject.parseObject(String jsonString, Class<T> clazz)`:将JSON字符串解析为Java对象,其中`T`是你想要的类类型。 - `JSONArray.parseArray(String jsonString, Class<T> clazz)`:将JSON字符串解析为...
当我们接收到一个JSON字符串时,我们经常需要将其转换为编程语言中的对象以便进行进一步的操作。本篇将详细讲解如何利用Java中的两个库——Fastjson和Json-lib,将JSON字符串转化为对象。 首先,`Fastjson`是由阿里...
为了方便地在Java对象与JSON字符串之间进行转换,阿里巴巴开发并提供了Fastjson库。这个库因其高效、易用的特性,在Java社区中得到了广泛应用。 Fastjson是一个Java语言编写的高性能功能完备的JSON库,它能够快速地...
Java Web 程序实现返回 JSON 字符串的方法总结 Java Web 程序实现返回 JSON 字符串的方法总结是 Java Web 开发中非常重要的一部分。随着 JSON 数据交换格式的广泛应用,Java Web 程序员需要学习如何将 Java 对象...
Fastjson的核心功能包括JSON字符串与Java对象之间的相互转换。通过这个库,你可以将Java对象序列化为JSON字符串,或者将JSON字符串反序列化为Java对象。这对于处理API响应、存储数据或在应用程序的不同组件之间传递...
FastJson的核心功能是将Java对象转换为JSON字符串,以及将JSON字符串反序列化为Java对象。它提供了丰富的API接口,使得操作JSON变得简单易行。FastJson的高效主要得益于其对数据结构和算法的精心设计。 首先,我们...
在Java开发中,处理JSON数据时,...无论是简单的键值对,还是复杂的嵌套结构,FastJson都能有效地进行JSON字符串、JSON对象与JavaBean之间的转换。在实际开发中,熟练掌握这些转换操作能极大地提高代码的可读性和效率。
1. **JSON字符串到Java对象的转换**:FastJson提供了一种简单的方式来将JSON字符串解析成Java对象,例如: ```java String jsonString = "{\"name\":\"John\", \"age\":30}"; Person person = JSON.parseObject...
在Java开发中,JSON字符串与Java对象之间的相互转换是常见的操作,特别是在网络通信、数据存储以及API接口设计等领域。 JSON字符串转Java对象: 在Java中,我们通常使用第三方库如Jackson、Gson、Fastjson等来实现...
以下我们将详细探讨Java中将对象转换为JSON字符串的三种方法,这里使用的是阿里巴巴的Fastjson库,它是一个高性能的JSON库,提供了丰富的API来处理JSON与Java对象之间的转换。 1. **将Java对象转成JSON串** 当我们...