利用泛型,同一个json解析出不一样的对象
时间: 2023-09-30 21:07:25 浏览: 93
可以通过泛型实现,具体步骤如下:
1. 定义一个通用的 JSON 解析函数,使用泛型作为返回值类型。
```java
public static <T> T parseJson(String json, Class<T> clazz) {
// 解析过程省略
return object;
}
```
2. 根据不同的对象类型,调用通用的 JSON 解析函数并传入对应的 Class 对象。
例如,解析一个 User 对象:
```java
String userJson = "{\"id\": 1, \"name\": \"Alice\"}";
User user = parseJson(userJson, User.class);
```
解析一个 Book 对象:
```java
String bookJson = "{\"id\": 2, \"title\": \"Java Programming\", \"author\": \"Bob\"}";
Book book = parseJson(bookJson, Book.class);
```
3. 根据泛型返回的具体对象类型,进行相关操作。
```java
// 对 User 对象进行操作
System.out.println("User id: " + user.getId());
System.out.println("User name: " + user.getName());
// 对 Book 对象进行操作
System.out.println("Book id: " + book.getId());
System.out.println("Book title: " + book.getTitle());
System.out.println("Book author: " + book.getAuthor());
```
通过使用泛型,可以方便地解析出不同类型的对象,并且避免了重复的解析代码。
阅读全文