Json解析工具Jackson(简单应用)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Json解析⼯具Jackson(简单应⽤)Person类:
public class Person {
private String name;
private Integer age;
//必须的
public Person() {
}
public Person(String name, Integer age) {
= name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
测试类
/**
* ⽰例本⾝很简单,但是main⽅法中的写法很值得借鉴
* 重构的思想
*/
public class Demo {
public static void main(String[] args) {
//writeJsonObject();
//readJsonObject();
readJsonMap();
}
//直接写⼊⼀个对象(序列化)
public static void writeJsonObject() {
ObjectMapper mapper = new ObjectMapper();
Person person = new Person("nomouse", 25);
try {
mapper.writeValue(new File("c:/person.json"), person);
String string = mapper.writeValueAsString(person);
System.out.println(string);
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
// 直接将⼀个json转化为对象(反序列化)
public static void readJsonObject() {
ObjectMapper mapper = new ObjectMapper();
try {
Person person = mapper.readValue(new File("c:/person.json"),
Person.class);
System.out.println(person.getName() + ":" + person.getAge());
String string = "{\"name\":\"nomouse\",\"age\":25}";
//Person必须有⽆参构造⽅法
Person person1 = mapper.readValue(string, Person.class);
System.out.println(person1.getName() + ":" + person1.getAge());
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
// 直接转化为map
public static void readJsonMap() {
ObjectMapper mapper = new ObjectMapper();
try {
// 需要注意的是这⾥的Map实际为⼀个LikedHashMap,即链式哈希表,可以按照读⼊顺序遍历 Map map = mapper.readValue(new File("c:/person.json"), Map.class);
System.out.println(map.get("name") + ":" + map.get("age"));
String string = "{\"name\":\"nomouse\",\"age\":25}";
//Person必须有⽆参构造⽅法
Map map1 = mapper.readValue(string, Map.class);
System.out.println(map1);
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}。