-2

JSONObject として解析したい json があります。私がそうすると、jsonの順序が台無しになります。以下を参照してください。どうすればこれを修正できますか?

元のjson:

{"result":
    {"headers":
         {
         "month_1":"May 2013",
         "month_2":"April 2013",
         "month_3":"March 2013",
         "month_4":"February 2013",
         "month_5":"January 2013",
         "month_6":"December 2012",
         "month_7":"November 2012"
          }
     }
}

JSONObject に解析した後:

{"result":
    {"headers":
        {
        "month_6":"December 2012",
        "month_5":"January 2013",
        "month_4":"February 2013",
        "month_3":"March 2013",
        "month_2":"April 2013",
        "month_1":"May 2013",
        "month_7":"November 2012"
        }
    }
}

私のコード:

private void ProcessResponse(String response) {
    JSONObject json = new JSONObject(response);
}
4

2 に答える 2

0

JSON ライブラリは、JSON オブジェクト内の要素の順序に固執します。詳細については、JSON.orgをフォローしてください。ただし、コードは 内の要素の順序に強く依存するべきではありませんjson object

于 2013-05-08T11:01:18.943 に答える
0

私が考えることができる方法は、JSONObject を arraylist に変換してから、以下のコードを使用することです。現時点で思いつくのはこれだけ。変換方法は、これをグーグルで検索してみてください。

 Collections.sort("your arraylist", new Comparator<Item>() {
            public int compare(Item i1, Item i2) {
                return i1.getCaption().compareTo(i2.getCaption());
            }
        });
于 2013-05-08T11:13:16.823 に答える