下面是“详解json string转换为java bean及实例代码”的完整攻略:
什么是JSON
JSON是一种轻量级的数据交换格式,具有易读易写、占用带宽小、易解析和支持多种语言等优点。在Web开发中,常用于数据传输和Web API。
JSON to Java Bean 转换
在Java中,我们可以通过JSON的转换将JSON字符串转换成Java Bean对象。常见的JSON转换工具有Gson和Jackson。以下是Gson的使用方法:
- 添加Gson的maven依赖
xml
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
- 创建一个Java Bean对象
java
public class User {
private String name;
private int age;
// 省略getter、setter方法
}
- 将JSON字符串转换为Java Bean对象
java
String json = "{\"name\":\"张三\",\"age\":18}";
Gson gson = new Gson();
User user = gson.fromJson(json, User.class);
以上代码将JSON字符串{"name":"张三","age":18}
转换为一个名为user
的Java Bean对象。可以通过user.getName()
和user.getAge()
方法获取对象的属性值。
- 将Java Bean对象转为JSON字符串
java
User user = new User();
user.setName("李四");
user.setAge(20);
Gson gson = new Gson();
String json = gson.toJson(user);
以上代码将Java Bean对象user
转换为JSON字符串{"name":"李四","age":20}
。
示例说明
以下是两条示例说明:
示例一
我们有一个包含多个User对象的JSON字符串,如下所示:
{
"users": [
{
"name": "张三",
"age": 18
},
{
"name": "李四",
"age": 20
}
]
}
我们需要将其转换为对应的Java Bean对象,如下所示:
public class UserList {
private List<User> users;
// 省略getter、setter方法
}
这个需要注意的是,json字符串中属性名users
对应的Java Bean属性名也是users
,属性类型是List<User>
,而不是直接User[]
。
我们可以使用以下代码进行转换:
String json = "{\"users\":[{\"name\":\"张三\",\"age\":18},{\"name\":\"李四\",\"age\":20}]}";
Gson gson = new Gson();
UserList userList = gson.fromJson(json, UserList.class);
这样就能得到一个名为userList
的Java Bean对象,其中包含了两个User
对象,可以通过userList.getUsers().get(0).getName()
和userList.getUsers().get(1).getAge()
获取属性值。
示例二
我们有一个自定义复杂的Java Bean对象,如下所示:
public class Person {
private String name;
private int age;
private List<String> hobbies;
private Address address;
// 省略getter、setter方法
}
public class Address {
private String province;
private String city;
private String street;
// 省略getter、setter方法
}
我们需要将一个包含该对象的JSON字符串转换为Java Bean对象,如下所示:
{
"name": "张三",
"age": 18,
"hobbies": ["听音乐", "打游戏"],
"address": {
"province": "北京",
"city": "北京市",
"street": "中关村"
}
}
我们可以使用以下代码进行转换:
String json = "{\"name\":\"张三\",\"age\":18,\"hobbies\":[\"听音乐\",\"打游戏\"],\"address\":{\"province\":\"北京\",\"city\":\"北京市\",\"street\":\"中关村\"}}";
Gson gson = new Gson();
Person person = gson.fromJson(json, Person.class);
这样就能得到一个名为person
的Java Bean对象,其中包含了对象的所有属性值,可以通过person.getAddress().getProvince()
等方法获取属性值。
希望这样的解答对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解json string转换为java bean及实例代码 - Python技术站