gpt4 book ai didi

java - 通过 Jackson 生成的 Json 应该按照 Json 元素值的排序顺序

转载 作者:行者123 更新时间:2023-12-01 08:51:22 25 4
gpt4 key购买 nike

我正在尝试按照 json 元素值的排序顺序从 Map 生成 JSON 字符串。这是我的 JSON

"customer": {
"id": "168252733",
"firstName": "OTP",
"lastName": "KPI",
"contact": {
"emailAddress": "nona.adams1@gmail.com",
"phone": [
{
"number": "2567775065",
"type": "primary"
},
{
"number": "2567775065",
"type": "secondary"
}
]
}
}

此 Json 可以包含多个客户记录,但我希望生成的 json 应根据用户首选项按名字、姓氏或电子邮件的排序顺序。

我是 JACKSON 的新手,不知道如何实现它。任何人都可以帮我解决这个问题吗?提前致谢。

最佳答案

选项 1:

简单的方法是使用 Arrays.sort(T[] a, Comparator<? super T> c)在序列化之前根据用户偏好对客户列表进行排序。

您需要为每个用户首​​选项创建比较器,然后使用 Arrays.sort(customerList, firstNameComparator)

选项 2:

如果您想从 JSON 排序客户列表,那么您需要注册自定义反序列化器和您的 CustomerListDeserializer生成排序的客户列表

  SimpleModule simpleModule = new SimpleModule().addDeserializer(CustomerList.class, new CustomerListDeserializer());
mapper.registerModule(smipleModule);

选项 3:

首先反序列化为客户对象列表,然后应用排序。

关于java - 通过 Jackson 生成的 Json 应该按照 Json 元素值的排序顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42383377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com