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

How to Sort/Arrange the JSON Object keys in android?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Sort JavaScript object by key

我正在用Android中的jsonObject创建jsonArray。我想做的是:["姓氏":"cruz","first_name":"胡安","中间名":"sam"]

但是它出现了["first_name":"cruz","last_name":"胡安","中间名":"sam"]

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

谢谢。。。


1
2
3
1. prepare a LinkedHashMap object with elements

2. convert it to JSONObject

例子:

1
2
3
4
5
6
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/douglascorkford/json-java

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

不要使用org.json.jsonObject,而是使用从下载的库中添加的.package.jsonObject。

现在打开jsonObject.java文件,并在构造函数中将hashmap()更改为linkedhashmap()。

1
public JSONObject(Map map)

这将使jsonObject按照使用put输入值的顺序存储数据。


您不能维护JSONObject响应的顺序,因为文档中提到了它本身。

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

我也遇到过同样的问题,然后我需要使用GSON库或者使用UR逻辑来制作JSON。

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

祝你好运!