[英]Need to read a JSON array object using java
需要使用 java 迭代 json 数组对象,请在这方面指导我
我已经提出了我的 JSON 结构下面是开发人员提供的 json 我需要获取 json 数组对象作为我的 selenium 脚本的输入。
有人可以帮助我吗?
[{
"Name": "Name1",
"Address": "Address",
"PhoneNo": 2142751,
"Courses": [{
"CourseName": "JAVA",
"Cost": 12000
},
{
"CourseName": "Testing",
"Cost": 12000
}
]
},
{
"Name": "Name2",
"Address": "Address2",
"PhoneNo": 214275143,
"Courses": [{
"CourseName": "JAVAV2",
"Cost": 12000
},
{
"CourseName": "Security",
"Cost": 12000
}
]
}
]
预期字符串名称 = 名称字符串 courseName 的值 = CourseName 的值
好吧,这里我们只导入类ObjectMapper,当然,我们需要在我们需要的类中实例化它。 之后,调用函数:
Object object = objectMapper.readValue(jsonAsString, Object.class);
也许这对你有用。
您有多种读取 JSON 的选项,您可以使用来自 primefaces 库的 JSONArray 或来自谷歌库的 JsonArray。
在这种情况下,我使用import org.primefaces.json.JSONArray;
如果使用 maven,请确保拥有该库或 jar 或依赖项。
要获取名称和课程名称,请执行以下操作:
JSONArray jArray = new JSONArray(yourJsonStringGoesHere);
String name = jArray.getJSONObject(0).getString("Name");
String courseName = jArray.getJSONObject(0).getJSONArray("Courses").getJSONObject(0).getString("CourseName");
此外,如果您需要从 JSON 中获取每个名称和 courseName,您可以像这样执行 for 循环:
// JSONArray made with your JSON String
JSONArray jArray = new JSONArray(yourJsonString);
// JSONArray made with the sub array of courses in your JSON
JSONArray jArrayCourses = jArray.getJSONObject(0).getJSONArray("Courses");
// Loop trough your JSON array
for (int i = 0; i < jArray.length(); i++) {
// Get name of each JSONObject inside your array
String name = jArray.getJSONObject(i).getString("Name");
System.out.println("name: "+name);
// Loop trough each sub array of courses.
for (int j = 0; j < jArrayCourses.length(); j++) {
// Get courseName of each JSONObject inside your courses sub array
String courseName = jArray.getJSONObject(i).getJSONArray("Courses").getJSONObject(j)
.getString("CourseName");
System.out.println("courseName: "+courseName);
}
}
输出
name: Name1
courseName: JAVA
courseName: Testing
name: Name2
courseName: JAVAV2
courseName: Security
问我你是否理解某些东西或需要更多帮助,我今天感到很慷慨:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.