【问题标题】:How to Sort/Arrange the JSON Object keys in android? [duplicate]如何在 android 中对 JSON 对象键进行排序/排列? [复制]
【发布时间】: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"}]

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

谢谢...

【问题讨论】:

    标签: android json sorting


    【解决方案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.
      

      祝你好运!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-04
        • 2018-07-21
        • 2016-03-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多