fastjson 转字符串定义别名
时间: 2023-07-06 21:34:48 浏览: 90
在 Fastjson 中,可以使用注解来为 Java 对象中的属性定义别名,然后在将对象转换成 JSON 字符串时,别名会被用作对应的 JSON 字段名。
以下是一个例子:
```java
import com.alibaba.fastjson.annotation.JSONField;
public class Person {
@JSONField(name = "full_name")
private String name;
private int age;
// 构造函数和 Getter/Setter 略去
}
```
在上面的代码中,我们使用 `@JSONField` 注解为 `name` 属性定义了一个别名 `full_name`。这样在将 `Person` 对象转换成 JSON 字符串时,`name` 属性会被序列化成 `full_name` 字段。
```java
Person person = new Person("Alice", 20);
String jsonString = JSON.toJSONString(person);
System.out.println(jsonString); // 输出 {"age":20,"full_name":"Alice"}
```
注:Fastjson 还支持其他一些注解,比如 `@JSONType`、`@JSONCreator` 等,可以进一步控制 JSON 序列化和反序列化的行为。
相关问题
fastjson字段别名
Fastjson 是一个 Java 库,用于处理 JSON 格式数据。在 Fastjson 中,可以通过注解来为字段设置别名。
要为字段设置别名,可以使用 `@JSONField` 注解,并指定 `name` 属性来定义别名。例如:
```java
public class User {
@JSONField(name = "user_name")
private String username;
// getter and setter
}
```
在上面的例子中,`username` 字段被指定了别名 `user_name`。在序列化和反序列化过程中,Fastjson 将使用别名来映射 JSON 中的字段。
当使用 Fastjson 进行序列化时,可以将对象转换为 JSON 格式的字符串。例如:
```java
User user = new User();
user.setUsername("John");
String jsonString = JSON.toJSONString(user);
System.out.println(jsonString);
```
输出结果将是:
```json
{"user_name":"John"}
```
当使用 Fastjson 进行反序列化时,可以将 JSON 格式的字符串转换为对象。例如:
```java
String jsonString = "{\"user_name\":\"John\"}";
User user = JSON.parseObject(jsonString, User.class);
System.out.println(user.getUsername());
```
输出结果将是:
```
John
```
通过使用 `@JSONField` 注解并指定 `name` 属性,可以轻松地为 Fastjson 字段设置别名。这样可以实现在不同场景下使用不同的字段名称,提高代码的灵活性和兼容性。
阅读全文