Java 如何从JSON文件动态获取数据
所以我制作了这个迷你应用程序来学习JSON 基本上这就是JSON文件Java 如何从JSON文件动态获取数据,java,json,android-studio,Java,Json,Android Studio,所以我制作了这个迷你应用程序来学习JSON 基本上这就是JSON文件 { "Student1" : { "name" : "Amine" , "mark": 19, "Groupe": "G25" }, "Student2" : { "name" : "Zaki" , "mark": 19, "groupe": "G25", } } 我试着不用“Student1”,而是用“Student”+“1” 如果有更简单的方法,请告诉我
{
"Student1" : {
"name" : "Amine" ,
"mark": 19,
"Groupe": "G25"
},
"Student2" : {
"name" : "Zaki" ,
"mark": 19,
"groupe": "G25",
}
}
我试着不用“Student1”,而是用“Student”+“1”
如果有更简单的方法,请告诉我
谢谢我建议使用Gson将JSON解析为一个对象。 之后,操作数据将更容易 首先,创建一个具有yout JSON结构的Java类:
public class Student {
private String name;
private int mark;
private String group;
// add the getters and setters
}
然后,使用Gson解析对象:
Student student = new Gson().fromJson(json, Student.class);
如果要从对象构建JSON,请使用Gson的toJson方法:
Student student = new Student();
student.setName("Peter");
student.setMark(10);
student.setGroup("ABC");
String json = new Gson().toJson(student);
如果您想了解更多关于Gson的信息,请查看本教程,它非常好:我建议使用Gson将JSON解析为对象。 之后,操作数据将更容易 首先,创建一个具有yout JSON结构的Java类:
public class Student {
private String name;
private int mark;
private String group;
// add the getters and setters
}
然后,使用Gson解析对象:
Student student = new Gson().fromJson(json, Student.class);
如果要从对象构建JSON,请使用Gson的toJson方法:
Student student = new Student();
student.setName("Peter");
student.setMark(10);
student.setGroup("ABC");
String json = new Gson().toJson(student);
如果您想了解更多关于Gson的信息,请查看本教程,它非常好:我想您想要的是一份学生项目列表:
[
{
"name" : "Amine" ,
"mark": 19,
"groupe": "G25"
},
{
"name" : "Zaki" ,
"mark": 19,
"groupe": "G25"
}
]
然后使用一个类,例如:
public class Student {
@JsonProperty("name")
private String name;
@JsonProperty("mark")
private Integer mark;
@JsonProperty("groupe")
private String groupe;
//getters and setters
}
然后使用jackson在列表中迭代我想你想要的是学生项目列表:
[
{
"name" : "Amine" ,
"mark": 19,
"groupe": "G25"
},
{
"name" : "Zaki" ,
"mark": 19,
"groupe": "G25"
}
]
然后使用一个类,例如:
public class Student {
@JsonProperty("name")
private String name;
@JsonProperty("mark")
private Integer mark;
@JsonProperty("groupe")
private String groupe;
//getters and setters
}
然后使用jackson遍历列表如果使用Spring MVC,可以使用@RequestBody注释。我认为这没有意义。这意味着您有两种不同的对象类型:Student1和Student2。您是否想要这些对象的列表?[{“name”:“Amine”,“mark”:19,“groupe”:“G25”},{“name”:“Zaki”,“mark”:19,“groupe”:“G25”}]如果使用Spring MVC,可以使用@RequestBody注释。我认为这没有意义。这意味着您有两种不同的对象类型:Student1和Student2。您是否想要这些对象的列表?[{“name”:“Amine”,“mark”:19,“groupe”:“G25”},{“name”:“Zaki”,“mark”:19,“groupe”:“G25”}]他们的JSON包含多个学生。对于列表,可以使用:list studentList=new Gson().fromJson(response.getBody(),new TypeToken(){}.getType());他们的JSON包含多个学生。对于列表,您可以使用:list studentList=new Gson().fromJson(response.getBody(),new TypeToken(){}.getType());问题是,我的应用程序没有加载整个student/mark/groupe列表,而是根据用户请求的学生编号显示这些信息,我将该编号放入EditText.getText().toString()输入的字符串中;你是否被锁定为你在OP中指定的json格式?不,我没有被锁定为json一位朋友向我推荐我的应用程序没有加载整个student/mark/groupe列表它根据用户请求的学生编号显示这些信息,我将该编号放入EditText.getText().toString()输入的字符串中;你被锁定到你在OP中指定的json格式了吗?没有,我没有被锁定到json。一个朋友向我推荐了它