各种JSON的maven引用
实体类
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private String name;
private String password;
}
一、jackjson maven
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.8</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.8.8</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.8</version>
</dependency>
对象转json
User user=new User("lish","ashdj");
ObjectMapper objectMapper=new ObjectMapper();
String str=objectMapper.writeValueAsString(user);
System.out.println(str);
json转对象
//将json格式的字符串转化为对象
//字符串中含有双引号,需要使用反斜杠转义
String jsonstr="{\"password\":\"66666\",\"name\":\"dme\"}";
ObjectMapper objectMapper=new ObjectMapper();
User user=objectMapper.readValue(jsonstr,User.class);
System.out.println(user.toString());
二、fastjson maven
FastJSON常用API
public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject
public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本
public static final Object toJSON(Object javaObject); //将JavaBean转换为JSONObject或者JSONArray。
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.4</version>
</dependency>
对象转json
User user1=new User("liul","pass");
String str1= JSON.toJSONString(user1);
System.out.println("简单java类转json字符串:"+str1);
json字符串转对象
String jsonstr="{'password':'123456','name':'dmego'}";
User user2=JSON.parseObject(jsonstr,User.class);
System.out.println(user2.toString());
三、Gson maven
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
</dependency>
对象转json
//Gson
User user3=new User("dijia","aishh");
Gson gson=new Gson();
String string=gson.toJson(user3);
System.out.println(user3);
json转对象
String gsonstr="{'password':'456','name':'dddd'}";
Gson gson=new Gson();
User user4=gson.fromJson(gsonstr,User.class);
System.out.println(user4.toString());
四、net.sf.json
已经过时,不推荐使用
坑多
https://www.cnblogs.com/yulinfeng/p/7967603.html
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>