如何对json对象里10000个数据排序新解

本人在做遍历测试的时候,收集到了2万多条数据,数据格式是id-name的形式,我用一个json对象存放的,但是有个问题,存放的时候并不是按照id的顺序,所以想按照id排序,然后再写入文件。看了网上一些帖子,思路很像,就是先把json对象的keys提取到一个list中,然后再按照一定的规则排序,然后按照排好的list数据从json里面提取出来,在放到一个json对象里面。

经过尝试我想到了一个针对我的情况的简单的方法,我的id在1-30000之间。我直接for循环遍历,如果json对象存在key就取出来,不存在就跳过。下面分享一下我的代码,供大家参考。

public class Practise extends ApiLibrary {
	public static List<String> names = new ArrayList<>();

	public static void main(String[] args) {
		JSONObject jsonObject = new JSONObject();
		List<String> namess = readTxtFileByLine(LONG_Path + "111.log");
		int size = namess.size();
		namess.forEach(name -> {
			String[] split = name.split(PART);
			jsonObject.put(split[0], split[1]);
		});
//		这是for循环遍历namess
//		for (int i = 0; i < size; i++) {
//			String s1 = namess.get(i);
//			output(s1);
//			if (s1.length() - s1.lastIndexOf(PART) == 1) continue;
//			String[] name = namess.get(i).split("\\|");
//			jsonObject.put(name[0], name[1]);
//		}
//		saveJsonList(jsonObject, "222");
		for (int i = 0; i < 30000; i++) {
			if (!jsonObject.containsKey(i+EMPTY)) continue;
			String sssssss = i + PART + jsonObject.getString(i + EMPTY);
			names.add(sssssss);
		}
		saveStringList(names,"2222");
		output(jsonObject.size());
	}
}

末了宣传一下QQ群:群号:340964272


猜你喜欢

转载自blog.csdn.net/Fhaohaizi/article/details/80772428