如何在android中排序/排列JSON对象键?

时间:2012-10-26 03:25:46

标签: android json sorting

  

可能重复:
  Sort JavaScript object by key

我正在从android中的JSONObject创建JSONArray。我想成为的JSONArray是: 的 [{ “last_name的”: “克鲁兹”, “FIRST_NAME”: “娟”, “middle_name”: “SAM”}]

但它出现了 的 [{ “first_name的”: “克鲁兹”, “姓氏”:“娟”, “middle_name”: “SAM”}]

如何按照我想要的顺序排列数组呢?

...谢谢

2 个答案:

答案 0 :(得分:5)

1. prepare a LinkedHashMap object with elements

2. convert it to JSONObject

示例:

Map obj = new LinkedHashMap();
obj.put("a", "String1");
obj.put("b", new Integer(1));
obj.put("c", new Boolean(true));
obj.put("d", "String2");
JSONObject json = new JSONObject(obj);

下载此库:

https://github.com/douglascrockford/JSON-java

将所有文件保存在项目的新包中

而不是使用 org.json.JSONObject ,使用从下载的库中添加的 your.package.JSONObject

现在打开 JSONObject.java 文件,并在构造函数中将 HashMap()更改为 LinkedHashMap()

public JSONObject(Map map)

这将使JSONObject按照您使用put。

输入值的顺序存储数据

答案 1 :(得分:0)

您无法维持JSONObject响应的顺序,因为它本身已在文档中提及。

对象是一组无序的名称/值对。

我遇到了同样的问题然后我需要使用gson库或者通过你的逻辑制作json ..

An object is an unordered set of name/value pairs.

祝你好运。!