fastjson复杂json转java对象
时间: 2023-09-10 12:14:15 浏览: 101
基于FastJson实现JSON与Java对象转换
1. 导入fastjson库
首先需要在项目中导入fastjson库,可以通过maven或gradle等方式添加依赖。
2. 定义Java对象
根据json数据结构,定义对应的Java对象。例如,下面是一个包含嵌套属性和数组的json数据:
```
{
"name": "John",
"age": 30,
"address": {
"city": "New York",
"state": "NY"
},
"phoneNumbers": ["212-555-1234", "646-555-4567"]
}
```
对应的Java对象可以定义如下:
```java
public class Person {
private String name;
private int age;
private Address address;
private List<String> phoneNumbers;
// getters and setters
}
public class Address {
private String city;
private String state;
// getters and setters
}
```
3. 使用fastjson转换json为Java对象
使用fastjson提供的API,将json数据转换为Java对象。下面是示例代码:
```java
String json = "{\"name\":\"John\",\"age\":30,\"address\":{\"city\":\"New York\",\"state\":\"NY\"},\"phoneNumbers\":[\"212-555-1234\",\"646-555-4567\"]}";
Person person = JSON.parseObject(json, Person.class);
```
其中,`JSON.parseObject()`方法用于将json字符串转换为Java对象,第一个参数是json字符串,第二个参数是要转换成的Java对象的class对象。
4. 访问Java对象的属性
转换后的Java对象可以直接访问属性,例如:
```java
System.out.println(person.getName()); // 输出 John
System.out.println(person.getAddress().getCity()); // 输出 New York
System.out.println(person.getPhoneNumbers().get(0)); // 输出 212-555-1234
```
阅读全文