java对象和json数据转换实现方式2-使用gson实现
来源:互联网 发布:天津基础教育网络 编辑:程序博客网 时间:2024/05/17 07:32
测试代码:
package com.yanek.util.json;import java.util.ArrayList;import java.util.List;import com.google.gson.Gson;import com.google.gson.GsonBuilder;import com.google.gson.JsonElement;import com.google.gson.JsonParser;public class GsonUtil {/** * @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();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));} private static Gson gson = new GsonBuilder().create(); public static String bean2Json(Object obj){ return gson.toJson(obj); } public static <T> T json2Bean(String jsonStr,Class<T> objClass){ return gson.fromJson(jsonStr, objClass); } public static String jsonFormatter(String uglyJsonStr){ Gson gson = new GsonBuilder().setPrettyPrinting().create(); JsonParser jp = new JsonParser(); JsonElement je = jp.parse(uglyJsonStr); String prettyJsonString = gson.toJson(je); return prettyJsonString; }}
输出如下:
json1:::{"RoomTypeVOs":[{"typeid":1,"typename":"nnn1","price":"20"},{"typeid":1,"typename":"nnn1","price":"20"}],"id":1,"name":"name1"}json2:::{"RoomTypeVOs":[{"typeid":1,"typename":"nnn1","price":"20"},{"typeid":1,"typename":"nnn1","price":"20"}],"id":1,"name":"name1"}json3:::[{"typeid":1,"typename":"nnn1","price":"20"},{"typeid":1,"typename":"nnn1","price":"20"}]json4:::[{"typeid":1.0,"typename":"nnn1","price":"20"},{"typeid":1.0,"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;}
0 0
- java对象和json数据转换实现方式2-使用gson实现
- 使用Gson实现Json和Java对象的转换
- java对象和json数据转换实现方式1-使用json-lib实现
- java对象和json数据转换实现方式3-使用jackson实现
- java对象和json数据转换实现方式3-使用jackson实现
- Gson实现 java对象和json互相转换
- 使用Gson或者GsonBuilder实现JSON和Java对象之间的转换
- Android使用Google Gson实现JSON字符串和对象、对象数组之间相互转换
- Android利用Gson实现对象和Json数据的相互转换
- 使用Google的Gson实现对象和json字符串之间的转换
- Gson转换JSON字符串和Java对象
- SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换)
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】
- json和java对象的相互转换(json-lib和Gson的使用)
- 百度天气api开发 全解析xml和json格式 使用json-lib jsonObject、 Gson 方式把json 转换成 java对象
- 使用Google的Gson实现对象的json字符串之间的转换
- SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换(上)
- Intersecting Lines(判断线段相交)
- 关于Oracle rac新加节点时可能遇到的问题
- lucene应用
- uva 539(回溯)
- VC获取本机IP地址
- java对象和json数据转换实现方式2-使用gson实现
- iOS学习笔记--懒加载(延迟加载)
- ND面试经历
- 安装 mysql server
- android 导入第三方库出现java.lang.NoClassDefFoundError
- 用条件随机场CRF进行字标注中文分词(Python实现)
- msdn之CRT调试
- POj 1753--Flip Game(位运算+BFS)
- Exception in thread "main" java.util.InputMismatchException