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

如何在android中排序/排列JSON对象键?,android,json,sorting,Android,Json,Sorting,可能重复: 我正在android中从JSONObject创建JSONArray。我想成为的JSONArray是: [{“姓氏”:“克鲁兹”, “名字”:“juan”, “中间名”:“sam”}] 但似乎 [{“名字”:“克鲁兹”, “姓氏”:“juan”, “中间名”:“sam”}] 如何按所需顺序排列阵列 谢谢…您不能维护JSONObject响应的顺序,因为文档中提到了它本身 对象是一组无序的名称/值对 我曾经遇到过同样的问题,然后我需要使用gson库或通过ur逻辑生成json An obj

可能重复:

我正在android中从JSONObject创建JSONArray。我想成为的JSONArray是: [{“姓氏”:“克鲁兹”, “名字”:“juan”, “中间名”:“sam”}]

但似乎 [{“名字”:“克鲁兹”, “姓氏”:“juan”, “中间名”:“sam”}]

如何按所需顺序排列阵列


谢谢…

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

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

我曾经遇到过同样的问题,然后我需要使用gson库或通过ur逻辑生成json

An object is an unordered set of name/value pairs.
祝你好运

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);
下载此库:

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

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

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

public JSONObject(Map map)
这将使JSONObject按照您使用put输入值的顺序存储数据