Java和Json結(jié)合使用可以簡(jiǎn)化應(yīng)用開(kāi)發(fā)過(guò)程中的數(shù)據(jù)傳輸和轉(zhuǎn)換,其中Java通過(guò)Json可以將數(shù)據(jù)轉(zhuǎn)化為輕量級(jí)的文本格式,方便進(jìn)行網(wǎng)絡(luò)傳輸,Json也可以使得數(shù)據(jù)在應(yīng)用內(nèi)部轉(zhuǎn)換更為簡(jiǎn)單明了。下面將介紹如何在Java中使用Json。
首先需要引入Json的依賴(lài),常用的Json庫(kù)有Gson和Jackson,這里以Gson為例:
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.6</version> </dependency>
在Java代碼中,可以通過(guò)Gson將Java對(duì)象轉(zhuǎn)換為Json字符串,并且將Json字符串轉(zhuǎn)換為Java對(duì)象:
import com.google.gson.Gson; public class JsonUtils { //將Java對(duì)象轉(zhuǎn)化為Json字符串 public static String toJson(Object obj) { Gson gson = new Gson(); return gson.toJson(obj); } //將Json字符串轉(zhuǎn)化為Java對(duì)象 public static <T> T fromJson(String json, Class<T> clazz) { Gson gson = new Gson(); return gson.fromJson(json, clazz); } } //示例代碼 public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } } Person person = new Person("Tom", 20); //將Person對(duì)象轉(zhuǎn)化為Json字符串 String jsonStr = JsonUtils.toJson(person); //{"name":"Tom","age":20} //將Json字符串轉(zhuǎn)化為Person對(duì)象 Person newPerson = JsonUtils.fromJson(jsonStr, Person.class);
除了轉(zhuǎn)化Java對(duì)象與Json字符串之外,Json還可以轉(zhuǎn)化為Java數(shù)組或List:
import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.util.List; //將Json字符串轉(zhuǎn)化為L(zhǎng)ist public static List<Person> fromJsonToList(String json) { Gson gson = new Gson(); TypeToken<List<Person>> typeToken = new TypeToken<List<Person>>(){}; return gson.fromJson(json, typeToken.getType()); } //示例代碼 String jsonListStr = "[{\"name\":\"Tom\",\"age\":20},{\"name\":\"Jerry\",\"age\":22}]"; List<Person> personList = JsonUtils.fromJsonToList(jsonListStr); //[Person{name='Tom', age=20}, Person{name='Jerry', age=22}]
通過(guò)以上示例可以看出,Json在Java中的使用簡(jiǎn)便明了,便于轉(zhuǎn)換數(shù)據(jù)格式,更好地服務(wù)于應(yīng)用開(kāi)發(fā)。