`

FastJson 操作JSON字符串

    博客分类:
  • Json
阅读更多

一、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字符串,直接获取key对应的value值

    Java fastjson解析json字符串实现过程解析

    主要介绍了Java fastjson解析json字符串实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    fastjson解析json.rar

    java使用fastjson解析json字符串,附fastjson包,后台接口需输出json格式字符串,非xml格式

    json压缩,去掉空格、换行

    在日常的web前端开发过程中,将骨骼动画中、或者其他大的json文件去掉空格、换行,压缩,是每次发布过程中必须的操作

    使用fastjson实现对象和json串之间的相互转换的jar包

    使用阿里巴巴提供的fastjson可以快速的实现java对象和json串之间的相互转换,避免字符串拼接的繁琐!

    fastjson-1.2.83.jar下载

    fastjson-1.2.83.jar下载,fastjson是阿里巴巴的开源JSON解析库,可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也支持从JSON字符串反序列化到JavaBean。fastjson采用全新的JSON解析算法,运行速度极快...

    fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器

    Fastjson是一个Java库,可用于将Java对象转换为其JSON表示形式。它还可用于将 JSON 字符串转换为等效的 Java 对象。Fastjson 可以使用任意 Java 对象,包括您没有源代码的预先存在的对象。

    FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换操作

    主要介绍了FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换,非常不错,具有参考借鉴价值,需要的朋友可以参考下

    fastjson-1.2.41.jar 非常好用的JSON转换依赖包

    1.FastJson的介绍: JSON协议使用方便,越来越流行,...1.JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换 2.JSONObject:fastJson提供的json对象 3.JSONArray:fastJson提供json数组对象

    java转json串的几种方法

    java转JSON串的几种方式: 1、将java对象转成json串 2、通过JSONObject生成json串 3、通过json字符串生成json串 代码通过阿里的fastjson包实现。

    fastjson的jar包(alibaba.fastson引用所需jar包).rar

    字符串、数组和json转换alibaba.fastjson版引用所需jar包,net.sf.json在转换JSONArray为集合不方便,通过alibaba.fastjson转换的比较方便

    阿里json包 fastjson-1.2.3.jar

    FastJson对于json格式字符串的解析主要用到了下面三个类: 1.JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换 2.JSONObject:fastJson提供的json对象 3.JSONArray:fastJson提供json数组...

    阿里json包

    FastJson对于json格式字符串的解析主要用到了下面三个类: 1.JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换 2.JSONObject:fastJson提供的json对象 3.JSONArray:fastJson提供json数组...

    详解json串反转义(消除反斜杠)

    主要介绍了详解json串反转义(消除反斜杠),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    SpringBoot如何使用Fastjson解析Json数据

    主要介绍了SpringBoot如何使用Fastjson解析Json数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    预警事项:Fastjson反序列化远程代码执行漏洞风险预警

    Fastjson是阿里巴巴的开源JSON解析库,可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到Java Bean。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web...

    fastjson工具

    FastJson对于json格式字符串的解析主要用到了下面三个类: 1.JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换 2.JSONObject:fastJson提供的json对象 3.JSONArray:fastJson提供json...

    fastjson-1.2.49

    fastjson是由阿里巴巴提供的,fastJson对于json格式字符串的解析主要用到了一下三个类: JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换。 JSONObject:fastJson提供的json对象。 ...

    将json字符串转化为对象

    包含fastjson-1.1.35.jar和 json-lib-2.4-jdk15.jar。

    Ajax&Json&XML.html

    OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中 writeValueAsString(obj):将对象转为json字符串 2. 注解: 1. @JsonIgnore:排除属性。 2. @JsonFormat:属性值得格式化 @...

Global site tag (gtag.js) - Google Analytics