java对象转换成json
- package com.bjs.acrosstime.utils;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- import org.apache.log4j.Logger;
- import org.codehaus.jackson.annotate.JsonIgnore;
- import org.codehaus.jackson.map.ObjectMapper;
- import org.codehaus.jackson.map.type.TypeFactory;
- /**
- * @author Peter
- */
- public class JsonUtils {
- private static Logger errLogger = Logger.getLogger("error");
- private static Logger apiAccessLogger = Logger.getLogger("access");
- private static final String PREFIX = "apiAccessAop";
- //each thread has its own ObjectMapper instance
- private static ThreadLocal<ObjectMapper> objMapperLocal = new ThreadLocal<ObjectMapper>(){
- @Override
- public ObjectMapper initialValue(){
- return new ObjectMapper();
- }
- };
- public static String toJSON(Object value) {
- String result = null;
- try {
- result = objMapperLocal.get().writeValueAsString(value);
- } catch (Exception e) {
- e.printStackTrace();
- }
- // Fix null string
- if ("null".equals(result)) {
- result = null;
- }
- return result;
- }
- public static <T> T toT(String jsonString, Class<T> clazz) {
- try {
- return objMapperLocal.get().readValue(jsonString, clazz);
- } catch (Exception e) {
- errLogger.error("toT error: "+ jsonString,e);
- }
- return null;
- }
- public static <T> List<T> toTList(String jsonString, Class<T> clazz) {
- try {
- return objMapperLocal.get().readValue(jsonString, TypeFactory.collectionType(List.class, clazz));
- } catch (Exception e) {
- errLogger.error("toTList error: "+ jsonString,e);
- }
- return null;
- }
- @SuppressWarnings("unchecked")
- public static Map<String, Object> toMap(String jsonString) {
- return toT(jsonString, Map.class);
- }
- public static void main(String[] args) {
- Message msg1 = new Message();
- msg1.uid = "1";
- msg1.opr_time = new Date();
- msg1.content = "hello world---1";
- Message msg2 = new Message();
- msg2.uid = "2";
- msg2.opr_time = new Date();
- msg2.content = "hello world---2";
- List<Message> list = new ArrayList<Message>();
- list.add(msg1);
- list.add(msg2);
- final String json = toJSON(list);
- System.out.println(json);
- //String l = "[{\"opr_time\":\"2012-05-12 12:33:22\",\"uid\":\"akun\",\"content\":\"\u5927\u5730\u9707\u7684\u4eba\u4eec\u5b89\u606f\u5427\"},{\"opr_time\":\"2012-05-12 12:33:25\",\"uid\":\"requelqi\",\"content\":\"\u6211\u56de\u5bb6\u4e86\"},{\"opr_time\":\"2012-05-12 12:37:25\",\"uid\":\"stone\",\"content\":\"\u4eca\u5929\u4e0d\u65b9\u4fbf\u6e38\u620f\"}]";
- final List<Message> newMsg = JsonUtils.toTList(json, Message.class);
- System.out.println(newMsg);
- System.out.println((newMsg.get(0).uid));
- }
- static class Message {
- String uid;
- Date opr_time;
- @JsonIgnore
- String content;
- public String getUid() {
- return uid;
- }
- public void setUid(String uid) {
- this.uid = uid;
- }
- public Date getOpr_time() {
- return opr_time;
- }
- public void setOpr_time(Date opr_time) {
- this.opr_time = opr_time;
- }
- public String getContent() {
- return content;
- }
- public void setContent(String content) {
- this.content = content;
- }
- }
- }
java对象转换成json的更多相关文章
- Java对象转换成xml对象和Java对象转换成JSON对象
1.把Java对象转换成JSON对象 apache提供的json-lib小工具,它可以方便的使用Java语言来创建JSON字符串.也可以把JavaBean转换成JSON字符串. json-lib的核心 ...
- Java对象转换成Json字符串是无法获得对应字段名
问题: 代码中已经标注 @JSONField(name = "attrs") private String abc; public String getA() { return a ...
- 如何将java对象转换成json数据
package cn.hopetesting.com.test;import cn.hopetesting.com.domain.User;import com.fasterxml.jackson.c ...
- FastJson将Java对象转换成json
确保环境依赖都配置好! 1.在pom.xml导入依赖 <dependency> <groupId>com.alibaba</groupId> <artifac ...
- Newtonsoft.Json 把对象转换成json字符串
var resultJson = new { records = rowCount, page = pageindex, //总页数=(总页数+页大小-1)/页大小 total = (rowCount ...
- json 字符串转换成对象,对象转换成json字符串
json 字符串转换成对象,对象转换成json字符串 前端: 方法一: parseJSON方法: [注意jquery版本问题] var str = '{"name":&qu ...
- DataTabel DataSet 对象 转换成json
public class DataTableConvertJson { #region dataTable转换成Json格式 /// <summary> ...
- JSON对象转换成JSON字符串
1.问题背景 有一个json对象,需要将其转换成json字符串 JSON.stringify(obj) 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DT ...
- 将Model对象转换成json文本或者json二进制文件
将Model对象转换成json文本或者json二进制文件 https://github.com/casatwy/AnyJson 注意:经过测试,不能够直接处理字典或者数组 主要源码的注释 AJTran ...
随机推荐
- windows server 2012 使用问题
1.端口映射,把宿主机的端口映射到hyper-v创建的虚拟机上 访问宿主机的公网IP的某个端口,就等于访问这个虚拟机上的端口 具体实现: 在宿主机上命令行输入 添加一个端口映射 netsh inter ...
- oracle根据某个字段去重实例
if not object_id('Tempdb..#T') is null drop table #T Go Create table #T([ID] int,[Name] nvarchar(1), ...
- DX系列之TreeList
参考资料: DevXpress控件: 第三篇: 将 父子 关系进行到底
- MFC下打开选择文件夹并获取文件夹的绝对路径
http://blog.csdn.net/w18758879921/article/details/51613382 http://www.cnblogs.com/greatverve/archive ...
- D3.js学习(四)
上一节我们已经学习了线条样式和格栅的绘制,在这一节中我们将要根据之前绘制的线条对图表进行填充,首先来看一下我们的目标吧 在这个图表中,我们对位于线条下面的空间进行了填充,那么,如何改做到呢? 设置填充 ...
- bzoj3744 Gty的妹子序列
我是萌萌的传送门 感觉这题还是不错的--虽然其实算是比较水的题= = 首先分块,令f[i][j]表示第i块到第j块的逆序对数,询问的时候直接计算不完整块与完整块以及不完整块之间的逆序对. 不完整块之间 ...
- Erlang C1500K长连接推送服务-性能
Whatsapp已经使用Erlang在生产环境跑到96GB内存单机 3M长连接,参加:WhatsApp的Erlang世界.毕竟业务级别能达到Whatsapp那样极少,现在只有千万级,单机太多挂一台影响 ...
- nginx windows负载均衡入门
前言 做了几年开发,都是只管码代码,没有参与过项目的部署,为了知识体系更加完整,于是开始学习一下负载均衡.查了一下资料,觉得用nginx +iis 比较简单,于是小试牛刀. 步骤 准备工作 下载ngi ...
- Anaconda 用于科学计算的 Python 发行版
用于科学计算的 Python 发行版: 1.Anaconda https://www.continuum.io/ 公司continuum. 有商业版本. Anaconda is the le ...
- IE不能上网,但是其他浏览器可以
打开IE_工具_internet选项_连接_局域网设置_(勾选)自动检测配置其它的勾去掉,确定.