【问题标题】:Java Transform Json to List<Object>Java 将 Json 转换为 List<Object>
【发布时间】:2022-02-02 12:34:31
【问题描述】:

我有一个json

{
    "name":["A","B"],
    "class":"Science"
}

如何将其转换为学生列表 (A,Science)(B,Science)

Students
{
    public String name;
    public String class;
}

【问题讨论】:

标签: java


【解决方案1】:

由于class 是Java 关键字,因此您不能使用该名称创建变量。假设您使用org.json 处理JSON

Students{
     public String name;
     public String clazz; // variable name changed
}

使用上面的学生类:

String req = "{\"name\":[\"A\",\"B\"],\"class\":\"Science\"}";

JSONObject jsonObject = new JSONObject(req);

JSONArray name = jsonObject.getJSONArray("name");
String aClass = jsonObject.getString("class");
List<Students> studentsList = new ArrayList<>();

for (int i = 0; i < name.length(); i++) {
    Students students = new Students();
    students.setName(name.getString(i));
    students.setClazz(aClass);
    studentsList.add(students);
}

System.out.println(studentsList);

输出

[Students(A,Science), Students(B,Science)]

【讨论】:

  • 是的,这似乎有效。是否也有任何 objectmapper 或 modelmapper 支持来执行此操作?如果我在键中还有一个值 - json中的“类”,我需要排列和组合来创建学生列表? (a,科学)(b,科学)(a,数学)(b,数学)
  • 我认为这不可能。
猜你喜欢
  • 2014-09-09
  • 2019-05-08
  • 1970-01-01
  • 2013-04-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-15
  • 1970-01-01
  • 2013-01-24
相关资源
最近更新 更多