Java ObjectMapper将Java对象转换为JSON字符串【记录】

1、要想将Java对象转化成JSON字符串,这里就用到了jackon的jar包,使用writeValueAsString方法就可以把Java对象转化成JSON字符串。

import org.codehaus.jackson.map.ObjectMapper;

public static void registerUser(User user) {
	try {
		ObjectMapper mapper = new ObjectMapper();
	    String json = mapper.writeValueAsString(user);	
	}catch(Exception e) {
		e.printStackTrace();  
	}
}

上面就是简单地将传入的user对象转换为JSON字符串的形式,因为我们每次使用都要创建ObjectMapper对象,然后调用方法,为了方便可以封装为一个工具类:

import org.codehaus.jackson.map.ObjectMapper;

public static String toJsonByObject(Object obj){
	ObjectMapper mapper = new ObjectMapper();
	String jsonStr = null;
	try {
		jsonStr =  mapper.writeValueAsString(obj);
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return jsonStr;
}

2、ObjectMapper中writeValue和writeValueAsString的区别:

共性:他们都可以将Java对象转换为JSON字符串。

参数不同:

  • writeValue(参数,obj):直接将传入的对象序列化为json,并且返回给客户端;
  • writeValueAsString(obj):将传入的对象序列化为json,返回给调用者;

writeValue的参数:有四种重载形式:

  • 第一种:file 将转换后的json字符串保存到指定的file文件中
  • 第二种:writer 将转换后的json字符串保存到字符输出流中
  • 第三种:outputStream将转换后的json字符串保存到字节输出流中
  • 第四种:jsonGenerator类(不常用,不作介绍)

猜你喜欢

转载自blog.csdn.net/weixin_44296929/article/details/106807004
今日推荐