java json序列化工具类_Json转换工具类

Json字符串是常用的数据格式,下面提供一个Json和JavaBean转换的工具类,它其实也是基于jackson的:

package com.csdn.myboot.utils;

import com.fasterxml.jackson.core.JsonProcessingException;

import com.fasterxml.jackson.databind.JavaType;

import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.List;

/**

* @Title: JsonUtils.java

* @Package com.lee.utils

* @Description: 自定义响应结构, 转换类

* Copyright: Copyright (c) 2016

* Company:Nathan.Lee.Salvatore

* @author leechenxiang

* @date 2016年4月29日 下午11:05:03

* @version V1.0

**/

public class JsonUtils {

// 定义jackson对象

private static final ObjectMapper MAPPER = new ObjectMapper();

/**

* 将对象转换成json字符串。

*

Title: pojoToJson

*

Description:

* @param data

* @return

**/

public static String objectToJson(Object data) {

try {

String string = MAPPER.writeValueAsString(data);

return string;

} catch (JsonProcessingException e) {

e.printStackTrace();

}

return null;

}

/**

* 将json结果集转化为对象

* @param jsonData json数据

* @param clazz 对象中的object类型

* @return

**/

public static T jsonToPojo(String jsonData, Class beanType) {

try {

T t = MAPPER.readValue(jsonData, beanType);

return t;

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

/**

* 将json数据转换成pojo对象list

*

Title: jsonToList

*

Description:

* @param jsonData

* @param beanType

* @return

**/

public static List jsonToList(String jsonData, Class beanType) {

JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);

try {

List list = MAPPER.readValue(jsonData, javaType);

return list;

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

}

测试:

@ResponseBody

@RequestMapping("/hello")

public String hello(){

UserDomain user7 = new UserDomain();

user7.setUserId(7);

user7.setUserName("Cristiano Ronaldo");

user7.setPassword("abc123");

user7.setPhone("13900000000");

String cr7 = JsonUtils.objectToJson(user7);

String c = "{\"userId\":7,\"userName\":\"Cristiano Ronaldo\",\"password\":\"abc123\",\"phone\":\"13900000000\"}";

UserDomain u = JsonUtils.jsonToPojo(c, UserDomain.class);

System.out.println(u.toString());

String listc = "[ "+c+" ]";

List list = JsonUtils.jsonToList(listc,UserDomain.class);

System.out.println(list);

return cr7;

}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值