java对象和json数据转换实现方式3-使用jackson实现
来源:互联网 发布:mysql 条件去重 编辑:程序博客网 时间:2024/06/04 23:23
测试代码:
package com.yanek.util.json;import java.io.IOException;import java.io.StringWriter;import java.util.ArrayList;import java.util.List;import com.fasterxml.jackson.core.JsonFactory;import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.core.JsonParseException;import com.fasterxml.jackson.databind.JsonMappingException;import com.fasterxml.jackson.databind.ObjectMapper;public class JacksonUtil {/** * @param args */public static void main(String[] args) {Hotel h1=new Hotel();h1.setId(1);h1.setName("name1");Hotel h2=new Hotel();h2.setId(2);h2.setName("name2");RoomTypeVO t1=new RoomTypeVO();t1.setPrice("20");t1.setTypeid(1);t1.setTypename("nnn1");List<RoomTypeVO> RoomTypeVOs=new ArrayList<RoomTypeVO>();RoomTypeVOs.add(t1);RoomTypeVOs.add(t1);h1.setRoomTypeVOs(RoomTypeVOs);Hotel hotel=new Hotel();try {System.out.println("json1:::"+bean2Json(h1));String s=bean2Json(h1);hotel=json2Bean(s,Hotel.class);System.out.println("json2:::"+bean2Json(hotel));System.out.println("json3:::"+bean2Json(RoomTypeVOs));String s2=bean2Json(RoomTypeVOs);List<RoomTypeVO> RoomTypeVOs2=new ArrayList<RoomTypeVO>();RoomTypeVOs2=json2Bean(s2,List.class);System.out.println("json4:::"+bean2Json(RoomTypeVOs2));} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static String bean2Json(Object obj) throws IOException { ObjectMapper mapper = new ObjectMapper(); StringWriter sw = new StringWriter(); JsonGenerator gen = new JsonFactory().createJsonGenerator(sw); mapper.writeValue(gen, obj); gen.close(); return sw.toString(); } public static <T> T json2Bean(String jsonStr, Class<T> objClass) throws JsonParseException, JsonMappingException, IOException { ObjectMapper mapper = new ObjectMapper(); return mapper.readValue(jsonStr, objClass); }}
输出如下:
json1:::{"id":1,"name":"name1","roomTypeVOs":[{"typeid":1,"typename":"nnn1","price":"20"},{"typeid":1,"typename":"nnn1","price":"20"}]}json2:::{"id":1,"name":"name1","roomTypeVOs":[{"typeid":1,"typename":"nnn1","price":"20"},{"typeid":1,"typename":"nnn1","price":"20"}]}json3:::[{"typeid":1,"typename":"nnn1","price":"20"},{"typeid":1,"typename":"nnn1","price":"20"}]json4:::[{"typeid":1,"typename":"nnn1","price":"20"},{"typeid":1,"typename":"nnn1","price":"20"}]
相关实体类:
package com.yanek.util.json;import java.util.List;public class Hotel {public List<RoomTypeVO> getRoomTypeVOs() {return RoomTypeVOs;}public void setRoomTypeVOs(List<RoomTypeVO> roomTypeVOs) {RoomTypeVOs = roomTypeVOs;}private List<RoomTypeVO> RoomTypeVOs;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}private int id;private String name;}package com.yanek.util.json;public class RoomTypeVO {public int getTypeid() {return typeid;}public void setTypeid(int typeid) {this.typeid = typeid;}public String getTypename() {return typename;}public void setTypename(String typename) {this.typename = typename;}public String getPrice() {return price;}public void setPrice(String price) {this.price = price;}private int typeid;private String typename;private String price;}
1 0
- java对象和json数据转换实现方式3-使用jackson实现
- java对象和json数据转换实现方式3-使用jackson实现
- java对象和json数据转换实现方式1-使用json-lib实现
- java对象和json数据转换实现方式2-使用gson实现
- Jackson框架,实现Java对象/Json/XML相互转换
- 通过Jackson实现Java对象和json字符串的相互转换
- Jackson 框架,轻易实现JAVA对象和JSON串互转
- 使用Jackson转换java对象为Json数据时,Json循环的问题
- SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换)
- 使用Gson实现Json和Java对象的转换
- Java对象与Json对象的相互转化之Jackson实现方式
- 使用 jackson ObjectMapper将java对象转换为json对象
- 用jackson包实现json、对象、Map之间的转换
- Java利用Jackson转换json和java对象
- 使用 Jackson 把 Java 对象转换成 JSON 字串
- Java对象、Json、Xml转换工具Jackson使用
- 使用jackson对Java对象与JSON字符串相互转换
- 使用 Jackson 把 Java 对象转换成 JSON 字串
- 安装Python包管理工具pip及import media
- uva 301(回溯)
- 如何创建一个在任何进程任何帐户任何会话都能存取的内核对象
- Java进阶 泛型
- PHP中Yii的部门表的设计
- java对象和json数据转换实现方式3-使用jackson实现
- 如何成为更优秀的货币?
- ClassLoader使用注意!
- 批处理-获取当前时间
- 杭电2001求两点之间的距离
- UVa538 - Balancing Bank Accounts
- OC 笑笑语法
- linux网络编程_1 管道的创建和使用
- sqlserver安装使用