20

私はというクラスを持っています

class Student {
   String name;
   String age;
}

次のようなListオブジェクトを返すメソッドがあります

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"}]

誰かが私がこれを手に入れるのを手伝ってもらえますか?

4

7 に答える 7

23

ライブラリを使用Gsonすると、非常に簡単になります。

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

JSONObjectGsonライブラリは、JSONArray実装よりも使用が簡単です。

于 2015-11-23T18:35:16.217 に答える
21

プロジェクトにjarを含め、jettison必要なクラスをインポートする必要があります。

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();
}
于 2012-05-29T10:09:15.167 に答える
5

以下のようにJSONArrayを作成します。

JSONArray jsArray = new JSONArray(arrayList);

于 2019-03-18T08:30:11.980 に答える
4

jettisonjarファイルをダウンロードする必要はないと思います。

を使用するJSONArrayJSONObject、そのリストを@JuniadanswerのようなJSONオブジェクトに簡単に変換できます

于 2012-05-29T11:16:27.483 に答える
1

gsonを試してください:Serializing-and-Deserializing-Generic-Types

于 2012-05-29T10:03:50.410 に答える
1

json-libはおそらくあなたが探しているライブラリです。ここで使用例を見つけることができます。

于 2012-05-29T10:03:55.190 に答える
1

オブジェクトを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/

于 2012-05-29T11:44:55.060 に答える