黑猴子的家:JavaWeb 之 Json 的Java常用转换方式

2019-12-13  本文已影响0人  黑猴子的家

1、Gson

1)添加依赖
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.2.4</version>
</dependency>
2)转化方法

(1)对象转Json

Gson gson = new Gson();
String json = gson.toJson(Object object);

(2)Json转对象

gson.fromJson(String json, Class<T> classOfT) 

(3)集合转Json

Gson gson = new Gson();
String json = gson.toJson(Object object);

(4)Json转集合

TypeToken<T> typeOfT = new TypeToken<T>(){};
T fromJson = (T)gson.fromJson(json, typeOfT.getType());

2、Json-Lib

1)添加依赖
<dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.4</version>
    <classifier>jdk15</classifier>
</dependency>
2)转化方法

(1)对象转Json

JSONObject fromObject = JSONObject.fromObject(Object object);
String string = fromObject.toString();

(2)Json转对象

JSONObject fromObject2 = JSONObject.fromObject(string);
Object bean =JSONObject.toBean(JSONObject jsonObject, Class beanClass)

(3)集合转Json

JSONArray fromObject = JSONArray.fromObject(Object object);
String string = fromObject.toString();

(4)Json转集合

JSONArray fromObject2 = JSONArray.fromObject(string);
Collection collection = JSONArray.toCollection 
(JSONArray jsonArray, Class objectClass)

3、Fastjson

Fastjson是阿里巴巴公司开发的,Java语言编写的,JSON的处理器。

1)添加依赖
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.31</version>
</dependency>
2)转化方法

(1)对象转Json

JSON.toJSONString(Object object);

(2)Json转对象

JSON.parseObject(String text,Class<T> Class);

(3)集合转Json

JSON.toJSONString(Object object)

(4)Json转集合

JSON.parseArray(String text,Class<T> Class);

4、Jackson

1)添加依赖
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.8.8</version>
</dependency>
2)转换方法
public static String object_to_json(Object object) throws JsonProcessingException {
    ObjectMapper mapper = new ObjectMapper();
    return mapper.writeValueAsString(object);
}

public static <T> T json_to_object(String json, Class<T> mainClass, Class<?>... parametricClasses) throws JsonParseException, JsonMappingException, IOException {
    ObjectMapper mapper = new ObjectMapper();
    JavaType parametricType = mapper.getTypeFactory().constructParametricType(mainClass, parametricClasses);
    T readValue = mapper.readValue(json, parametricType);
    return readValue;
}
上一篇 下一篇

猜你喜欢

热点阅读