下面是json转换成Java对象示例的完整攻略。
1. 确定json字符串格式
在转换之前,需要了解目标json字符串的格式。这里以如下的json字符串为例:
{
"name": "张三",
"age": 20,
"gender": "男",
"hobbies": ["唱歌", "跳舞", "游泳"],
"address": {
"province": "广东省",
"city": "深圳市",
"district": "南山区"
}
}
2. 创建Java对象
我们需要创建一个Java对象,来存放从json字符串中解析出的数据。这里我们可以创建一个名为Person
的Java类。代码如下:
public class Person {
private String name;
private int age;
private String gender;
private List<String> hobbies;
private Address address;
// 省略构造方法和getter/setter方法
}
同时,我们还需要创建一个Address
类,来存放地址信息。代码如下:
public class Address {
private String province;
private String city;
private String district;
// 省略构造方法和getter/setter方法
}
3. 解析json字符串
我们使用第三方库Gson
来解析json字符串。首先,需要将json字符串转换成JsonElement
对象。代码如下:
String jsonStr = "{\"name\":\"张三\",\"age\":20,\"gender\":\"男\",\"hobbies\":[\"唱歌\",\"跳舞\",\"游泳\"],\"address\":{\"province\":\"广东省\",\"city\":\"深圳市\",\"district\":\"南山区\"}}";
JsonElement jsonElement = JsonParser.parseString(jsonStr);
接下来,我们将JsonElement
对象转换成Person
对象。代码如下:
Gson gson = new Gson();
Person person = gson.fromJson(jsonElement, Person.class);
这样,我们就成功将json字符串转换成了Person
对象。
示例1
下面是示例1的完整代码:
public class JsonExample {
public static void main(String[] args) {
String jsonStr = "{\"name\":\"张三\",\"age\":20,\"gender\":\"男\",\"hobbies\":[\"唱歌\",\"跳舞\",\"游泳\"],\"address\":{\"province\":\"广东省\",\"city\":\"深圳市\",\"district\":\"南山区\"}}";
JsonElement jsonElement = JsonParser.parseString(jsonStr);
Gson gson = new Gson();
Person person = gson.fromJson(jsonElement, Person.class);
System.out.println("姓名:" + person.getName());
System.out.println("年龄:" + person.getAge());
System.out.println("性别:" + person.getGender());
System.out.println("爱好:");
for (String hobby : person.getHobbies()) {
System.out.println(hobby);
}
System.out.println("地址:" + person.getAddress().getProvince() + person.getAddress().getCity() + person.getAddress().getDistrict());
}
}
输出结果如下:
姓名:张三
年龄:20
性别:男
爱好:
唱歌
跳舞
游泳
地址:广东省深圳市南山区
示例2
下面是示例2的完整代码:
public class JsonExample {
public static void main(String[] args) {
String jsonStr = "{\"name\":\"李四\",\"age\":25,\"gender\":\"女\",\"hobbies\":[\"阅读\",\"旅游\"],\"address\":{\"province\":\"广西壮族自治区\",\"city\":\"桂林市\",\"district\":\"七星区\"}}";
JsonElement jsonElement = JsonParser.parseString(jsonStr);
Gson gson = new Gson();
Person person = gson.fromJson(jsonElement, Person.class);
System.out.println("姓名:" + person.getName());
System.out.println("年龄:" + person.getAge());
System.out.println("性别:" + person.getGender());
System.out.println("爱好:");
for (String hobby : person.getHobbies()) {
System.out.println(hobby);
}
System.out.println("地址:" + person.getAddress().getProvince() + person.getAddress().getCity() + person.getAddress().getDistrict());
}
}
输出结果如下:
姓名:李四
年龄:25
性别:女
爱好:
阅读
旅游
地址:广西壮族自治区桂林市七星区
这样,我们就完成了json转换成Java对象的示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:json转换成java对象示例 - Python技术站