【发布时间】:2013-09-02 14:42:14
【问题描述】:
考虑以下是我的数组
[
{"id":10,"name":"name10","valid":true},
{"id":12,"name":"name12","valid":false},
{"id":11,"name":"name11","valid":false},
{"id":9,"name":"name9","valid":true}
]
用它创建了一个JsonArray,就像下面的代码一样:
//Create a JSON Parser using GSON library
objJsonParser = new JsonParser();
String strArrayText = [{"id":9,"name":"name9","valid":true}, ...]
JsonArray jsonArrayOfJsonObjects = objJsonParser.parse(strArrayText).getAsJsonArray();
现在,我正在尝试根据 name 字段对 jsonArrayOfJsonObjects 进行排序。
期望的输出:
[
{"id":9,"name":"name9","valid":true},
{"id":10,"name":"name10","valid":false},
{"id":11,"name":"name11","valid":false},
{"id":12,"name":"name12","valid":true}
]
任何人都可以用关于 Java 和 Gson 的最佳方法来帮助解决这个问题吗?
非常感谢您的意见。
【问题讨论】:
-
@MattBall
JsonArray不是Collection以避免不必要地进行大量对象翻译。 -
@chrylis 对列表进行排序,然后将其序列化为 JSON,如果我正确理解了这个问题,应该会产生所需的输出。也许 OP 真的只想要一个排序的
JSONArray,但我读它要求排序的 JSON。