Java与JSON之间的相互转换-4
来源:互联网 发布:淘宝龙瞎皮肤多少钱 编辑:程序博客网 时间:2024/06/04 19:39
添加 jar 包支持
jackson-annotations-2.0.5.jarjackson-core-2.0.5.jarjackson-databind-2.0.5.jar
编写工具类
import java.io.IOException;import java.util.List;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.JavaType;import com.fasterxml.jackson.databind.ObjectMapper;public final class JsonUtils { private static ObjectMapper mapper = new ObjectMapper(); public static String toJson(Object data) throws JsonProcessingException { return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(data); } public static <T> T toObject(String data, Class<T> clazz) throws IOException { return mapper.readValue(data, clazz); } public static <T> List<T> toList(String data, Class<T> clazz) throws IOException { JavaType beanListType = mapper.getTypeFactory().constructParametricType(List.class, clazz); return mapper.readValue(data, beanListType); }}
测试代码
import java.io.IOException;import java.util.ArrayList;import java.util.List;import model.Person;import org.junit.Test;import com.fasterxml.jackson.core.JsonProcessingException;import util.JsonUtils;public class JsonTest { /** * Object ---> JSON * @throws JsonProcessingException */ @Test public void testObjectToJson() throws JsonProcessingException { Person p = new Person(); p.setName("张三"); p.setAge("18"); p.setAddress("郑州"); String result = JsonUtils.toJson(p); System.out.println("=== Object ---> JSON ==="); System.out.println(result); } /** * JSON ---> Object * @throws IOException */ @Test public void testJsonToObject() throws IOException { String data = "{\"address\":\"郑州\",\"age\":\"18\",\"name\":\"张三\"}"; Person p = JsonUtils.toObject(data, Person.class); System.out.println("=== JSON ---> Object ==="); System.out.println(p); System.out.println(); } /** * List ---> JSON * @throws JsonProcessingException */ @Test public void testListToJson() throws JsonProcessingException { Person p1 = new Person(); p1.setName("张三"); p1.setAge("18"); p1.setAddress("郑州"); Person p2 = new Person(); p2.setName("李四"); p2.setAge("20"); p2.setAddress("北京"); List<Person> list = new ArrayList<Person>(); list.add(p1); list.add(p2); String result = JsonUtils.toJson(list); System.out.println("=== List ---> JSON ==="); System.out.println(result); System.out.println(); } /** * JSON ---> List * @throws IOException */ @Test public void testJsonToList() throws IOException { String data = "[{\"address\":\"郑州\",\"age\":\"18\",\"name\":\"张三\"},{\"address\":\"北京\",\"age\":\"20\",\"name\":\"李四\"}]"; List<Person> list = JsonUtils.toList(data, Person.class); System.out.println("=== JSON ---> List ==="); for (Person person : list) { System.out.println(person); } }}
运行结果
=== JSON ---> Object ===Person [name=张三, age=18, address=郑州]=== List ---> JSON ===[ { "name" : "张三", "age" : "18", "address" : "郑州"}, { "name" : "李四", "age" : "20", "address" : "北京"} ]=== JSON ---> List ===Person [name=张三, age=18, address=郑州]Person [name=李四, age=20, address=北京]=== Object ---> JSON ==={ "name" : "张三", "age" : "18", "address" : "郑州"}
阅读全文
0 0
- Java与JSON之间的相互转换-4
- Java与JSON之间相互转换-1
- Java与JSON之间相互转换-2
- JSON与java对象之间的相互转换
- java对象与json对象之间的相互转换
- Java中Json字符串与对象之间的相互转换
- Java与JSON之间的相互转换-3
- 非标准json,标准json,json字符串与js对象,Java对象之间的相互转换
- 补充:json对象与json字符串之间的相互转换
- json对象与json字符串之间的相互转换
- JSON与java对象的相互转换
- JSON与JAVA数据的相互转换
- JSON与JAVA数据的相互转换
- JSON与JAVA数据的相互转换
- Java对象与Json的相互转换
- JSON与JAVA数据的相互转换
- JSON与JAVA数据的相互转换
- 利用Gson使json字符串与java bean/list/map之间的相互转换
- Vue.js插件axios——封装一个可以灵活使用的ajax
- SLA小组学习收获
- 关于深度学习优化器 optimizer 的选择,你需要了解这些
- spring,springmvc,mybatis,AJAX集成+alibaba的连接池druid
- 【教程】PDF控件Spire.PDF 教程:在C#中加密和解密PDF文件
- Java与JSON之间的相互转换-4
- 普通程序员该如何进阶为全栈工程师?
- 跨学科视域下的机器智能与人
- 关于HTTP调用接口的四种方式(post,get,delete,put)
- 【设计模式】单例模式(Singleton Pattern)
- leetcode Letter Combinations of a Phone Number
- ios oc与js的交互总结
- 2017年第18届立嘉国际机械展览会会刊(参展商名录)
- 区间dp||记忆化搜索 Game of Sum UVA