というクラスがあります
class Student {
String name;
String age;
}
私はリストオブジェクトを返すメソッドがあります
public List<Student> getList(){
List<Student> li =new ArrayList();
....
li.add(new Student('aaa','12'));
...
return li;
}
このリストを次のようにJSONArrayに変換する必要があります
[{"name":"sam","age":"12"},{"name":"sri","age":"5"}]
誰かがこれを手に入れるのを手伝ってくれる? Advanceeに感謝..
Jettison jarファイルをダウンロードする必要はないと思います。
JSONArray
とJSONObject
を使用すると、そのリストを@Juniad answerのようなJSONオブジェクトに簡単に変換できます
Gson
Libraryを使用すると、非常に簡単になります。
JSON文字列からオブジェクトのArrayListへ:
Type listType =
new TypeToken<ArrayList<Student>>(){}.getType();
ArrayList<Student> yourClassList = new Gson().fromJson(jsonArray, listType);
オブジェクトの配列リストからJsonへ:
ArrayList<Student> sampleList = new ArrayList<Student>();
String json = new Gson().toJson(sampleList);
Gsonライブラリは、JSONObject
およびJSONArray
実装よりも使用が簡単です。
プロジェクトにjettison
jarを含め、必要なクラスをインポートする必要があります。
JSONObject jObject = new JSONObject();
try
{
JSONArray jArray = new JSONArray();
for (Student student : sudentList)
{
JSONObject studentJSON = new JSONObject();
studentJSON.put("name", student.getName());
studentJSON.put("age", student.getAge());
jArray.put(studentJSON);
}
jObject.put("StudentList", jArray);
} catch (JSONException jse) {
jse.printStacktrace();
}
以下のようなJSONArrayを作成します。
JSONArray jsArray = new JSONArray(arrayList);
Objectをjsonに直接マッピングする場合、またはjsonをオブジェクトに変換する場合は、GSONライブラリを使用できます。これにより、柔軟性と制御性が向上します。
リンクをダウンロード- http://code.google.com/p/google-gson/
チュートリアルリンク- http://www.mkyong.com/Java/how-do-convert-Java-object-to-from-json-format-gson-api/
gsonを試してください: Serializing-and-Deserializing-Generic-Types
json-libは、おそらく探しているライブラリです。 somの使用例 here を見つけることができます。