如何动态地从JSON文件获取数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何动态地从JSON文件获取数据相关的知识,希望对你有一定的参考价值。
所以我制作了这个迷你应用程序是为了学习JSON
所以基本上这是JSON文件
{
"Student1" : {
"name" : "Amine" ,
"mark": 19,
"Groupe": "G25"
},
"Student2" : {
"name" : "Zaki" ,
"mark": 19,
"groupe": "G25",
}
}
我试着不放“ Student1”,我认为我可以做类似“ Student” +“ 1”的事情
private void parseJson(String toString) {
TextView showView = new TextView(this);
theLayout.addView(showView);
StringBuilder builder = new StringBuilder();
try {
JSONObject root = new JSONObject(toString);
/////// Here i got the INPUT string from an EditText
///// i think i should use some thing like .equals()
String theWantedStudent = "Student"+INPUT ;
JSONObject student = root.getJSONObject(theWantedStudent);
builder.append("Name : ")
.append(student.getString("name")).append("
");
builder.append("Groupe : ")
.append(student.getString("groupe")).append("
");
builder.append("Mark : ")
.append(student.getInt("mark")).append("
");
} catch (JSONException e) {
e.printStackTrace();
}
showView.setText(builder.toString());
}
如果有更简单的方法,请告诉我谢谢
答案
我建议使用Gson将JSON解析为一个对象。之后,将更容易处理数据。
https://mkyong.com/java/how-to-parse-json-with-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
}
然后使用杰克逊遍历列表
以上是关于如何动态地从JSON文件获取数据的主要内容,如果未能解决你的问题,请参考以下文章
如何在 jsp 和 ajax 中为两个选择选项框动态地从 mysql 获取和填充值到 HTML 选择选项