博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java json asc排序_Java中对jsonArray的排序,使用的是Gson
阅读量:5254 次
发布时间:2019-06-14

本文共 1856 字,大约阅读时间需要 6 分钟。

packagetestJava;importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;importcom.google.gson.JsonParser;importcom.google.gson.JsonArray;importcom.google.gson.JsonObject;public classTestJava {public static voidmain(String[] args) {//TODO Auto-generated method stub

jsoaArraySort();

}public static voidjsoaArraySort() {

String arrayData= "["

+ "{\"Name\":\"TVS\",\"No\":" + 202 + ",\"Length\":" + 23 + "},"

+ "{\"Name\":\"TVC\",\"No\":" + 203 + ",\"Length\":" + 14 + "},"

+ "{\"Name\":\"Wel\",\"No\":" + 345 + ",\"Length\":" + 35 + "},"

+ "{\"Name\":\"Sma\",\"No\":" + 678 + ",\"Length\":" + 45 + "},"

+ "{\"Name\":\"Sma\",\"No\":" + 136 + ",\"Length\":" + 15 + "},"

+ "{\"Name\":\"Cus\",\"No\":" + 257 + ",\"Length\":" + 17 + "},"

+ "{\"Name\":\"And\",\"No\":" + 678 + ",\"Length\":" + 16 + "},"

+ "{\"Name\":\"Roo\",\"No\":" + 136 + ",\"Length\":" + 56 + "}"

+"]";

JsonParser parser= newJsonParser();

JsonArray jsonArray=parser.parse(arrayData).getAsJsonArray();

System.out.println("init jsonArray=" +jsonArray.toString());

JsonArray sort_JsonArray= newJsonArray();

List list = new ArrayList();

JsonObject jsonObj= null;for (int i = 0; i < jsonArray.size(); i++) {

jsonObj=(JsonObject) jsonArray.get(i);

list.add(jsonObj);

}//这里最核心的地方就是SortComparator这个类//其中构造方法的参数://sortItem是要排序的jsonArray中一个元素, 这里我选择是Name, 也可以选择No或者是Length//sortType是排序的类型, 有三种情况//1. 排序的元素对应的值是int, 那么sortType = "int";//2. 排序的元素对应的值是string, 那么sortType = "string";//3. 排序的元素对应的是是其他类型, 默认是不排序, (后面可以扩展)//sortDire是排序的方向, 可以是asc或者desc, 默认是数据的原始方向(就是没有排序方向)

String sortItem = "Length";

String sortType= "int";

String sortDire= "desc";

Collections.sort(list,newSortComparator(sortItem, sortType, sortDire));for (int i = 0; i < list.size(); i++) {

jsonObj=list.get(i);

sort_JsonArray.add(jsonObj);

}

System.out.println("after sort_JsonArray=" +sort_JsonArray.toString());

}

}

转载地址:http://tgeav.baihongyu.com/

你可能感兴趣的文章
BZOJ3648 : 寝室管理
查看>>
hdu1814Peaceful Commission(2-SAT)
查看>>
判断页面是横屏还是竖屏
查看>>
1、HDFS 架构、启动过程
查看>>
对象不支持“attachEvent”属性或方法的解决办法
查看>>
Java基础:(六)关键字
查看>>
管理weblogic服务的启动和停止
查看>>
Web安全测试漏洞场景
查看>>
sqlserver、mysql、oracle各自的默认端口号
查看>>
各种ORM框架一站式代码下载
查看>>
HTTP状态码详解
查看>>
Activity生命周期以及启动模式对生命周期的影响(二)
查看>>
MailHelper
查看>>
Android注解使用之ButterKnife 8.0注解使用介绍
查看>>
INotitypropertyChanged
查看>>
WPF数据绑定
查看>>
JEECMS的几个细节
查看>>
C# 当前时间和时间戳互相转换
查看>>
项目从0到1
查看>>
20145322 Exp5 MS11_050
查看>>