1. 依赖库
jackson-all-1.6.1.jar
2. 代码
public class Student {
private String name;
private int age;
public Student(){
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class Grade {
public String name = "wang";
public int f1 = 100;
}
public enum Color {
RED, GREEN, BLUE
}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;
public class JsonTest {
public static void main(String[] args)throws Exception {
ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
mapper.registerSubtypes(Student.class);
//对象
String serialValue = mapper.writeValueAsString(new Student("wang", 20));
System.out.println(serialValue);
Student student = mapper.readValue(serialValue, Student.class);
System.out.println(student.getName());
//数组
String[] arr1 = {"111", "222"};
serialValue = mapper.writeValueAsString(arr1);
System.out.println(serialValue);
String[] arr2 = mapper.readValue(serialValue, String[].class);
System.out.println(arr2[0]);
//集合
List<Student> list1 = new ArrayList<Student>();
list1.add(new Student("wang", 20));
list1.add(new Student("zhang", 21));
serialValue = mapper.writeValueAsString(list1);
System.out.println(serialValue);
List<Student> list2 = mapper.readValue(serialValue, new TypeReference<List<Student>>(){});
System.out.println(list2.get(0).getName());
//MAP
Map<Integer, String> map1 = new HashMap<Integer, String>();
map1.put(1, "11");
map1.put(2, "22");
serialValue = mapper.writeValueAsString(map1);
System.out.println(serialValue);
Map<Integer, String> map2 = mapper.readValue(serialValue, new TypeReference<Map<Integer, String>>(){});
System.out.println(map2.get(1));
//枚举
Color color = Color.RED;
serialValue = mapper.writeValueAsString(color);
System.out.println(serialValue);
Color color2 = mapper.readValue(serialValue, Color.class);
System.out.println(color2);
//注入测试
serialValue = mapper.writeValueAsString(new Student("\",{wang}[]:,\"", 20));
System.out.println(serialValue);
Student student3 = mapper.readValue(serialValue, Student.class);
System.out.println(student3.getName());
serialValue = mapper.writeValueAsString(new Grade());
System.out.println(serialValue);
Grade g = mapper.readValue(serialValue, Grade.class);
System.out.println(g.name);
}
}
分享到:
相关推荐
Java Json序列化与反序列化
极好的序列化与发序列化代码。可以处理array集合,数组或者单个对象等的序列化与反序列化。
10万次序列化,1万次反序列化,毫秒。 阿里序列化时间 1122 1054 1115 阿里反序列化时间 409 423 412 HZS序列化时间 884 864 880 HZS反序列化时间 392 375 394 JAVA7版已经逼近阿里的速度,JAVA8版利用了闭包技术...
主要介绍了java对象序列化与反序列化的默认格式和json格式使用示例,需要的朋友可以参考下
10万次序列化,1万次反序列化,毫秒。 阿里序列化时间 1229 1133 1179 阿里反序列化时间 478 523 466 HZS序列化时间 1089 998 1010 HZS反序列化时间 606 623 635 测试代码如下: { org.hzs.json.JSONObject bjson...
提出了一种基于JSON的对象序列化算法,该算法通过分析JSON文法并建立对象导航图,透明地将Java对象序列化成JSON表达式,使客户端能够很好地利用JavaScript引擎来解析JSON响应,有效地解决了解析XML所造成的缺陷。
又小又快又无依赖Json序列化与反序列化 eg: 1.json序列化 String json=JsonUtil.instance().obj2Json(obj); 2.json反序列化(Object表示具体的类) Object obj=JsonUtil.instance().json2Obj(json,Object.class) ...
答:将JSON解析为Java对象的过程称为 [从JSON反序列化Java对象] 从Java对象生成JSON的过程称为 [序列化Java对象到JSON] 为什么用它? 答:我数据库中的主键是使用雪花算法生成的,就是因为用id的位数太多,导致在...
本资源Java中常用的Json序列化jar包,包括Google的gson.jar序列化包和常用的Json序列化包,亲测可用。 版本分别为:gson-2.8.2.jar和json-20170516.jar
Jackson-datatype-money - 开源的Jackson模块,支持Java货币数据类型的JSON序列化和反序列化
主要介绍了实例解析Json反序列化之ObjectMapper,json自定义序列化的方法,需要的朋友可以了解下。
Gson 中解决 json 反序列化时相同属性对应不同类型的值的问题(代码),对应文章链接:https://blog.csdn.net/ZiFung_Yip/article/details/89143255
NULL 博文链接:https://assassinme.iteye.com/blog/2369297
jackson工具库,支持JSON,XML格式实现java序列化反序列化操作。在XML格式进行反序列化时有一定的限制
GSON是Google开发并开源的一个Java的JSON转换库,这里我们将来讲解GSON实现Java对象的JSON序列化与反序列化的实例教程,需要的朋友可以参考下
Java和JSON-使用ObjectMapper的Jackson示例 该存储库包含博客文章中使用的代码示例...Jackson-使用JsonNode反序列化值 杰克逊–反序列化为简单的Java对象 Jackson –使用Empty Constructor反序列化为简单的Java对象 Ja
Jsonex JSONCoder是一个轻量级的通用对象序列化/反序列化库,类似于Jackson,GSON或FastJson。 多年来,该库已在各种eBay项目中广泛使用。 它不能替代其他流行的库。 但是,它解决了一些其他替代产品无法提供或无法...
函数API接口感受到非常不适应,你一定非常怀念使用java和C#对一个实体类的那么轻松加简单的直接json序列化,本篇博客使用一个RapidJsonHelper类,将帮你实现对一个C++实体类的的序列化和反序列化。rapidjson的版本是...
Flexjson is a lightweight library for serializing and deserializing Java objects into and from JSON. What's different about Flexjson is it's control over what gets serialized allowing both deep and ...
C#后台处理JSon数据