7

重複の可能性:
JavaScript オブジェクトをキーで並べ替える

Android で JSONObject から JSONArray を作成しています。私がなりたかった JSONArray は次のとおりです: [{"last_name":"cruz", "first_name":"juan", "middle_name":"sam"}]

[{"first_name":"cruz", " last_name ":"juan", "middle_name":"sam"}]

必要な順序で配列を配置するにはどうすればよいですか?

ありがとう...

4

2 に答える 2

6
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)

これにより、put を使用して値を入力した順序で JSONObject にデータが格納されます。

于 2012-10-26T06:02:17.317 に答える
0

JSONObjectそれ自体がドキュメントに記載されているため、応答の順序を維持することはできません。

オブジェクトは、名前と値のペアの順序付けられていないセットです。

私は同じ問題に直面していたので、gsonライブラリを使用するか、ウルロジックでjsonを作成する必要があります..

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

頑張ってください。

于 2012-10-26T05:03:41.530 に答える