java 序列化指定顺序_如何使用Java中的Jackson库来序列化属性的顺序?

@JsonPropertyOrder是一个注释在要使用的类级。它以字段列表为属性,该列表定义了对象在对象JSON序列化结果中出现在字符串中的顺序。注释声明中包含的属性可以先序列化(以定义的顺序),然后再定义中不包含的任何属性。

语法public @interface JsonPropertyOrder

示例import com.fasterxml.jackson.core.*;

import com.fasterxml.jackson.databind.*;

import com.fasterxml.jackson.annotation.JsonPropertyOrder;

import java.util.*;

import java.io.*;

public class JsonPropertyOrderTest {

public static void main(String args[]) throws JsonGenerationException, JsonMappingException,        IOException {

Employee emp = new Employee();

emp.setFirstName("Adithya");

emp.setEmpId(25);

emp.setLastName("Jai");

emp.getTechnologies().add("Java");

emp.getTechnologies().add("Scala");

emp.getTechnologies().add("Python");

ObjectMapper mapper = new ObjectMapper();

mapper.writerWithDefaultPrettyPrinter().writeValue(System.out, emp);

}

}

//员工阶层

@JsonPropertyOrder({

"firstName",

"lastName",

"technologies",

"empId"

})

class Employee {

private int empId;

private String firstName;

private String lastName;

private List technologies = new ArrayList<>();

public int getEmpId() {

return empId;

}

public void setEmpId(int empId) {

this.empId = empId;

}

public String getFirstName() {

return firstName;

}

public void setFirstName(String firstName) {

this.firstName = firstName;

}

public String getLastName() {

return lastName;

}

public void setLastName(String lastName) {

this.lastName = lastName;

}

public List getTechnologies() {

return technologies;

}

public void setTechnologies(List technologies) {

this.technologies = technologies;

}

}

输出结果{

"firstName" : "Adithya",

"lastName" : "Jai",

"technologies" : [ "Java", "Scala", "Python" ],

"empId" : 125

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值