java根据给定的键对JSON字符串进行动态排序
我想根据一些键对JSON字符串进行排序。我的JSON可以有多个嵌套数组。有没有对json进行排序的库/工具
我收到的JSON对象,key是可选的。例如,在下面的请求中,我们第一次使用名称对参与者数组进行排序,然后第二次使用第二个参与者中不存在的子名称进行排序。我还想通过动态发送密钥进行排序。在下面的示例中,我使用了名称和子名称,同样,我应该能够发送任何密钥和排序
例如:
{
"Actors": [
{
"name": "Tom Cruise",
"age": 56,
"Born At": "Syracuse, NY",
"Birthdate": "July 3, 1962",
"photo": "https://jsonformatter.org/img/tom-cruise.jpg",
"wife": null,
"weight": 67.5,
"hasChildren": true,
"hasGreyHair": false,
},
{
"name": "Robert Downey Jr.",
"age": 53,
"Born At": "New York City, NY",
"Birthdate": "April 4, 1965",
"photo": "https://jsonformatter.org/img/Robert-Downey-Jr.jpg",
"wife": "Susan Downey",
"weight": 77.1,
"hasChildren": true,
"hasGreyHair": false,
"children": [
{
"name":"Tom",
"age":15
},
{
"name":"Jerry"
"age":17
}
]
}
]
}
首先基于名称进行排序,然后基于排序子项名称数组进行排序
输出:
{
"Actors": [
{
"name": "Robert Downey Jr.",
"age": 53,
"Born At": "New York City, NY",
"Birthdate": "April 4, 1965",
"photo": "https://jsonformatter.org/img/Robert-Downey-Jr.jpg",
"wife": "Susan Downey",
"weight": 77.1,
"hasChildren": true,
"hasGreyHair": false,
"children": [
{
"name":"Jerry"
"age":16
},
{
"name":"Tom"
"age":15
}
]
},
{
"name": "Tom Cruise",
"age": 56,
"Born At": "Syracuse, NY",
"Birthdate": "July 3, 1962",
"photo": "https://jsonformatter.org/img/tom-cruise.jpg",
"wife": null,
"weight": 67.5,
"hasChildren": true,
"hasGreyHair": false,
},
]
}
我希望在不创建任何Iava对象的情况下实现这一点。我无法控制基于输入输出的JSON字符串,JSON总是变化的
共 (0) 个答案