基于键对JSON对象/字符串进行排序

时间:2014-06-05 15:30:31

标签: java json sorting jackson

直接而简单,下面是一个示例Json:

{
    "2014-05-27": 292,
    "2014-05-06": 323,
    "2014-05-21": 212,
    "2014-05-22": 238,
    "2014-05-23": 219
}

清楚地看到键是日期,值是一些计数器。我需要根据日期对这个JSON进行排序。 我正在用java编程并使用杰克逊库,如果有帮助的话。

2 个答案:

答案 0 :(得分:3)

您可以将该JSON转换为Map,然后对该Map进行排序,然后将其转换回JSON。

答案 1 :(得分:2)

根据JSON spec

  

对象是一组无序名称/值对。

  

数组是有序值集合。

如果您想在Java代码中进行排序,可以按日期将它们排序到列表中,然后将列表传回给您的响应。杰克逊将完成将列表转换为数组并保留顺序的工作。此方法需要您将key:值转换为对象。填充数组的对象看起来与此类似:

{
    "date": "2014-05-27",
    "value": 292
}

您将使用数组保留订购保证。使用对象你无法保证。