當前位置:
首頁 > 知識 > jackson完成json和對象/map/list互轉

jackson完成json和對象/map/list互轉

jackson是一款非常好用的json轉換工具,總結一下具體用法

一:導入依賴

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-databind</artifactId>

<version>2.7.3</version>

</dependency>

二:User

package com.mote.jackson;

public class User {

private String name;

private Integer age;

private String city;

public User() {

super();

}

public User(String name, Integer age, String city) {

super();

this.name = name;

this.age = age;

this.city = city;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

public String getCity() {

return city;

}

public void setCity(String city) {

this.city = city;

}

@Override

public String toString() {

return "User [name=" + name + ", age=" + age + ", city=" + city + "]";

}

}

三:jackson操作

package com.mote.jackson;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import com.fasterxml.jackson.databind.JavaType;

import com.fasterxml.jackson.databind.ObjectMapper;

public class JackSonDemo {

private static ObjectMapper MAPPER = new ObjectMapper();

public static void main(String[] args) throws Exception {

//對象轉json

User user = new User("tom",23,"上海");

String json = MAPPER.writeValueAsString(user);

System.out.println(json);

//json轉對象

User uuser = MAPPER.readValue(json, User.class);

System.out.println(uuser);

//map<String,String>轉json

HashMap<String, String> map = new HashMap<String,String>();

map.put("name", "jack");map.put("city", "beijin");

String mjson = MAPPER.writeValueAsString(map);

System.out.println(mjson);

//json轉map<String,String>

HashMap<String,String> mmap = MAPPER.readValue(mjson, HashMap.class);

System.out.println(mmap);

//map<String,User>轉json

HashMap<String, User> umap = new HashMap<String, User>();

umap.put(user.getName(), user);

String mmjson = MAPPER.writeValueAsString(umap);

System.out.println(mmjson);

//json轉map<String,User>

JavaType jvt = MAPPER.getTypeFactory().constructParametricType(HashMap.class,String.class,User.class);

Map<String,User> urMap = MAPPER.readValue(mmjson, jvt);

System.out.println(urMap);

//list<String>轉json

ArrayList<String> list = new ArrayList<String>();

list.add("jack");

list.add("tom");

String ljson = MAPPER.writeValueAsString(list);

System.out.println(ljson);

//json轉list<String>

ArrayList<String> sList = MAPPER.readValue(ljson, ArrayList.class);

System.out.println(sList);

//list<User>轉json

List<User> ulist = new ArrayList<User>();

ulist.add(user);

String ujson = MAPPER.writeValueAsString(ulist);

System.out.println(ujson);

//json轉list<User>

JavaType jt = MAPPER.getTypeFactory().constructParametricType(ArrayList.class, User.class);

List<User> urlist = MAPPER.readValue(ujson, jt);

System.out.println(urlist);

}

}

jackson完成json和對象/map/list互轉

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

tomcat集群和session共享
mysql更改資料庫編碼問題(utf8)

TAG:程序員小新人學習 |