如何使用对象属性进行转化,举例说明
时间: 2023-12-19 13:04:34 浏览: 72
使用 fastjson 将对象属性进行转换时,可以使用 @JSONField 注解来指定属性名。
将对象转换为 JSON 字符串时,可以使用 @JSONField(name="xxx") 注解来指定属性名:
```java
import com.alibaba.fastjson.annotation.JSONField;
public class Test {
public static void main(String[] args) {
Person person = new Person("Alice", 30);
String jsonStr = JSON.toJSONString(person);
System.out.println(jsonStr); // {"name":"Alice","age":30}
}
}
class Person {
@JSONField(name="name")
private String personName;
private int age;
public Person(String name, int age) {
this.personName = name;
this.age = age;
}
// 省略 getter 和 setter 方法
}
```
将 JSON 字符串转换为对象时,可以使用 @JSONField(name="xxx") 注解来指定属性名:
```java
import com.alibaba.fastjson.annotation.JSONField;
public class Test {
public static void main(String[] args) {
String jsonStr = "{\"name\":\"Alice\",\"age\":30}";
Person person = JSON.parseObject(jsonStr, Person.class);
System.out.println(person.getName()); // Alice
System.out.println(person.getAge()); // 30
}
}
class Person {
@JSONField(name="name")
private String personName;
private int age;
public String getName() {
return personName;
}
public void setName(String name) {
this.personName = name;
}
// 省略 getter 和 setter 方法
}
```
在上面的示例中,属性 personName 使用了 @JSONField(name="name") 注解指定了转换后的属性名,从而在转换时使用了指定的属性名。
阅读全文