如何为列表创建JSONArray〈类名>

9ceoxa92  于 2022-12-15  发布在  其他
关注(0)|答案(9)|浏览(143)

我有一门课叫

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

谁能帮我拿一下这个?

pwuypxnk

pwuypxnk1#

使用Gson库将非常简单。
从JSON字符串到对象的数组列表:

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库比JSONObjectJSONArray实现更易于使用。

wdebmtf2

wdebmtf22#

您必须在项目中包含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();
}
b1zrtrql

b1zrtrql3#

创建JSONArray,如下所示。
JSONArray jsArray = new JSONArray(arrayList);

zpjtge22

zpjtge224#

我想你不需要下载投弃罐文件。
使用JSONArrayJSONObject,您可以轻松地将该列表转换为JSON对象,如@Juniad answer

zqry0prt

zqry0prt5#

try gson:序列化和反序列化泛型类型

zhte4eai

zhte4eai6#

json-lib可能是你正在寻找的库。你可以找到一些here用法的例子。

unguejic

unguejic7#

当你想把Object直接Map到json或者想把json转换成object时,你可以使用GSON库,这将给予你更多的灵活性和控制。
下载链接-http://code.google.com/p/google-gson/
教程链接-http://www.mkyong.com/java/how-do-convert-java-object-to-from-json-format-gson-api/

e5nszbig

e5nszbig8#

您可以像这样使用“Jackson”中的ObjectMapper

List<Student> list = Arrays.asList(new Student("sam", "12"), new Student("sri", "5"));
ObjectMapper objectMapper = new ObjectMapper();
String listAsString = objectMapper.writeValueAsString(list));
62o28rlo

62o28rlo9#

导入org.json.simpl.JSON数组;导入组织.json.简单. JSON对象;
公共类测试{

public static void main(String[] args) {
    // TODO Auto-generated method stub
    JSONObject json = new JSONObject();

    json.put("userId","");
        
    JSONObject que1 = new JSONObject();
    que1.put("questionId", "");
    que1.put("groupId", "");
    que1.put("answer", "");
    JSONObject que2 = new JSONObject();
    que2.put("questionId", "");
    que2.put("groupId", "");
    que2.put("answer", "");
    JSONObject que3 = new JSONObject();
    que3.put("questionId", "");
    que3.put("groupId", "");
    que3.put("answer", "");
    
    JSONArray jsonArray =new JSONArray();
    jsonArray.add(que1);
    jsonArray.add(que2);
    jsonArray.add(que3);
    
    json.put("answers", jsonArray);

    
    System.out.println("Answer request : "+json.toString());
    
    

}

}

相关问题