从Android中的JSON对象对JSON数组进行排序?

我有下一个 JSON 响应:


[{

    format: "jpeg",

    id: 001,

    author: "Mery Rose"

},

{

    format: "jpeg",

    id:002,

    author: "Alex Turner"


}

通过此 Get 调用,我按 ID 顺序获取:001、002


@GET("/list")

Call<ArrayList<Groups>> imageList();

我需要按作者排序,先获得亚历克斯,然后获得梅里。


请帮忙。


一只萌萌小番薯
浏览 252回答 3
3回答

慕森卡

我认为Retrofit不会直接对响应提供内置排序。对于排序响应,您必须使用 如下比较器手动完成Collections.sort(imageList, new Comparator<Groups>() {&nbsp; &nbsp; @Override&nbsp; &nbsp; public int compare(Groups g1, Person g2) {&nbsp; &nbsp; &nbsp; &nbsp; return g1.getAuthor().compareTo(g2.getAuthor());&nbsp; &nbsp; }});

千巷猫影

像这样使用集合Collections.sort(imageList, new Comparator<Groups>() {public int compare(Groups G1, Groups G2) {&nbsp; &nbsp; return G1.getAuthor().compareTo(G2.getAuthor());}});

开满天机

作为@NJ 答案的替代方案,您可以使用新的 Java 8Comparator.comparing工厂,您可以在其中提供一个函数来提取比较对象时要使用的值。Collections.sort(imageList,&nbsp;Comparator.comparing(Groups::getAuthor));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java