Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据键对JSON对象/字符串进行排序_Java_Json_Sorting_Jackson - Fatal编程技术网

Java 根据键对JSON对象/字符串进行排序

Java 根据键对JSON对象/字符串进行排序,java,json,sorting,jackson,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编程并使用Jackson库(如果有帮助)。您可以将该JSON转换为映射,然后对该映射进行排序,然后将其转换回JSON。根据: 对象是

简单明了,下面是一个Json示例:

{
    "2014-05-27": 292,
    "2014-05-06": 323,
    "2014-05-21": 212,
    "2014-05-22": 238,
    "2014-05-23": 219
}
按键清晰可见,日期和数值是一些计数器。我需要根据日期对这个JSON进行排序。
我正在用java编程并使用Jackson库(如果有帮助)。

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

根据:

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

数组是值的有序集合

如果您想在Java代码中进行排序,可以按日期将它们排序到一个列表中,并在响应中返回该列表。Jackson将把列表转换成数组并保持顺序。这种方法需要将key:value转换为对象。填充阵列的对象看起来与此类似:

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

您将通过使用数组保留排序保证。使用一个对象你没有任何保证。

你是什么意思?您想要一个JSON字符串,其中的行以键的alpha顺序写入?JSON没有顺序。解析JSON,生成应用程序模型对象,并对它们进行排序。还有,这是一个JSON对象,不是数组。是的,那么我可以把它转换成一个映射,然后对映射进行排序?这就是你的建议吗?