本文介绍了如何基于Key对JSON对象进行排序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在创建一个JSON对象,我在其中添加一个键和一个数组值。 key和value的值来自TreeSet,它具有排序形式的数据。但是,当我在我的json对象中插入数据时,它是随机存储的,没有任何顺序。 这是我目前的json对象:
I am creating a JSON object in which i am adding a key and a value which is an array. The value for both key and value comes from a TreeSet which has data in sorted form. However, when I insert data in my json object, it is stored randomly without any order. This is my json object currently:
{ "SPAIN":["SPAIN","this"], "TAIWAN":["TAIWAN","this"], "NORWAY":["NORWAY","this"], "LATIN_AMERICA":["LATIN_AMERICA","this"] }我的代码是:
Iterator<String> it= MyTreeSet.iterator(); while (it.hasNext()) { String country = it.next(); System.out.println("----country"+country); JSONArray jsonArray = new JSONArray(); jsonArray.put(country); jsonArray.put("this); jsonObj.put(country, jsonArray); }我有什么方法可以将数据存储到while循环内部的json对象中吗?
Is there any way I can store the data into my json object inside the while loop itself?
推荐答案适用于Google Gson API。尝试一下。
It works with Google Gson API. Try it out.
try{ TreeSet<String> MyTreeSet = new TreeSet<String>(); MyTreeSet.add("SPAIN"); MyTreeSet.add("TAIWNA"); MyTreeSet.add("INDIA"); MyTreeSet.add("JAPAN"); System.out.println(MyTreeSet); Iterator<String> it= MyTreeSet.iterator(); JsonObject gsonObj = new JsonObject(); JSONObject jsonObj = new JSONObject(); while (it.hasNext()) { String country = it.next(); System.out.println("----country"+country); JSONArray jsonArray = new JSONArray(); jsonArray.put(country); jsonArray.put("this"); jsonObj.put(country, jsonArray); JsonArray gsonArray = new JsonArray(); gsonArray.add(new JsonPrimitive("country")); gsonArray.add(new JsonPrimitive("this")); gsonObj.add(country, gsonArray); } System.out.println(gsonObj.toString()); System.out.println(jsonObj.toString()); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); }更多推荐
如何基于Key对JSON对象进行排序?
发布评论