如何在 android 中对 JSON 对象键进行排序/排列? [复制]

Posted

技术标签:

【中文标题】如何在 android 中对 JSON 对象键进行排序/排列? [复制]【英文标题】:How to Sort/Arrange the JSON Object keys in android? [duplicate] 【发布时间】:2012-10-16 07:53:29 【问题描述】:

可能重复:Sort javascript object by key

我正在从 android 中的 JSONObject 创建 JSONArray。我想要的 JSONArray 是: ["last_name":"cruz", "first_name":"juan", "middle_name":"sam"]

但它似乎 ["first_name":"cruz", “姓氏”:“胡安”, "middle_name":"sam"]

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

谢谢...

【问题讨论】:

【参考方案1】:
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 输入值的顺序存储数据。

【讨论】:

【参考方案2】:

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

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

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

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

祝你好运!

【讨论】:

以上是关于如何在 android 中对 JSON 对象键进行排序/排列? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 postgresql 中对 json 类型使用唯一约束

如何在 discord.js 代码块中对 json 对象值进行排序?

如何在颤动中对对象列表中的json字符串进行编码

Android:如何从此 json 获取 JSON 对象键:

在Android中对Json输出进行排序

在 Swift 中对 NSDictionary 对象的 NSArray 进行排序