下面我将为您详细讲解“Java中利用gson解析Json实例教程”的完整攻略。
Java中利用gson解析Json实例教程
什么是gson
Gson是Google公司发布的一套Java对象序列化和反序列化库。可以将JSON格式的字符串转换为Java对象,也可以将Java对象转换为JSON格式的字符串。
在Java中使用gson可以方便的进行Json解析,使用简单高效,实用性强。
基本用法
- 导入gson的jar包
在项目的pom.xml文件中加入以下依赖:
<!-- Gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
- 使用gson解析json
下面是一个简单的JSON示例:
{
"name": "John Smith",
"age": 28,
"email": "john.smith@gmail.com"
}
Java代码如下:
import com.google.gson.Gson;
import java.util.Map;
public class JsonParser {
public static void main(String[] args) {
String json = "{\"name\":\"John Smith\",\"age\":28,\"email\":\"john.smith@gmail.com\"}";
Gson gson = new Gson();
Map<String, Object> data = gson.fromJson(json, Map.class);
String name = (String) data.get("name");
int age = (int) data.get("age");
String email = (String) data.get("email");
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Email: " + email);
}
}
上述代码中,从String类型的json数据中解析出了Map
示例
下面通过两个具体的示例来说明如何使用gson解析Json数据。
示例一
假设有如下的JSON数据:
{
"id":100001,
"name":"电视",
"price":4999.0,
"des":"4k高清,55寸屏幕"
}
Java代码如下:
import com.google.gson.Gson;
public class Product {
private int id;
private String name;
private double price;
private String des;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getDes() {
return des;
}
public void setDes(String des) {
this.des = des;
}
@Override
public String toString() {
return "Product{" +
"id=" + id +
", name='" + name + '\'' +
", price=" + price +
", des='" + des + '\'' +
'}';
}
public static void main(String[] args) {
String json = "{\"id\":100001,\"name\":\"电视\",\"price\":4999.0,\"des\":\"4k高清,55寸屏幕\"}";
Gson gson = new Gson();
Product product = gson.fromJson(json, Product.class);
System.out.println(product);
}
}
上述代码中,通过Product类与JSON数据进行映射,使用fromJson方法将JSON数据转换为Product对象,输出Product对象的toString方法的结果,即完成了JSON的解析。
示例二
假设有如下的JSON数据:
[
{
"id":100001,
"name":"电视",
"price":4999.0,
"des":"4k高清,55寸屏幕"
},
{
"id":100002,
"name":"手机",
"price":2499.0,
"des":"骁龙855,8GB内存"
},
{
"id":100003,
"name":"电脑",
"price":7999.0,
"des":"i7处理器,16GB内存"
}
]
Java代码如下:
import com.google.gson.Gson;
import java.util.ArrayList;
public class ProductList {
private ArrayList<Product> products;
public ArrayList<Product> getProducts() {
return products;
}
public void setProducts(ArrayList<Product> products) {
this.products = products;
}
@Override
public String toString() {
return "ProductList{" +
"products=" + products +
'}';
}
public static void main(String[] args) {
String json = "[\n" +
" {\n" +
" \"id\":100001,\n" +
" \"name\":\"电视\",\n" +
" \"price\":4999.0,\n" +
" \"des\":\"4k高清,55寸屏幕\"\n" +
" },\n" +
" {\n" +
" \"id\":100002,\n" +
" \"name\":\"手机\",\n" +
" \"price\":2499.0,\n" +
" \"des\":\"骁龙855,8GB内存\"\n" +
" },\n" +
" {\n" +
" \"id\":100003,\n" +
" \"name\":\"电脑\",\n" +
" \"price\":7999.0,\n" +
" \"des\":\"i7处理器,16GB内存\"\n" +
" }\n" +
"]";
Gson gson = new Gson();
ProductList productList = gson.fromJson(json, ProductList.class);
System.out.println(productList);
}
}
上述代码中,通过ProductList类与JSON数据进行映射,使用fromJson方法将JSON数据转换为ProductList对象,输出ProductList对象的toString方法的结果,即完成了JSON的解析。
以上就是Java中利用gson解析Json实例教程的详细攻略,希望能够对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中利用gson解析Json实例教程 - Python技术站