色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

jackson json嵌套list

洪振霞1年前9瀏覽0評論

Jackson是Java中最流行的JSON處理框架之一。它有許多強大的功能,包括處理JSON對象和數組,嵌套結構等。在本文中,我們將探討如何使用Jackson處理嵌套數組。

假設我們有一個JSON字符串,它包含一個名為“students”的數組,每個元素都是一個包含學生信息的對象。其中,“courses”字段是一個嵌套數組,它包含該學生正在上的所有課程:

{
"students": [
{
"name": "Alice",
"age": 20,
"courses": ["math", "physics"]
},
{
"name": "Bob",
"age": 21,
"courses": ["chemistry", "biology"]
}
]
}

現在我們想要將這個JSON字符串轉換為Java對象(或Map),并訪問每個學生正在上的課程列表。我們可以使用Jackson來完成這項任務:

ObjectMapper objectMapper = new ObjectMapper();
String json = "{'students': [{'name':'Alice','age':20,'courses':['math','physics']},{'name':'Bob','age':21,'courses':['chemistry','biology']}]}";
JsonNode rootNode = objectMapper.readTree(json);
JsonNode studentsNode = rootNode.get("students");
if (studentsNode.isArray()) {
for (JsonNode studentNode : studentsNode) {
String name = studentNode.get("name").asText();
int age = studentNode.get("age").asInt();
JsonNode coursesNode = studentNode.get("courses");
if (coursesNode.isArray()) {
ListcoursesList = new ArrayList<>();
for (JsonNode courseNode : coursesNode) {
String course = courseNode.asText();
coursesList.add(course);
}
System.out.println(name + " is taking these courses: " + coursesList);
}
}
}

上面的代碼首先創建一個ObjectMapper對象,然后使用它來解析JSON字符串。我們可以通過調用JsonNode的get()方法來訪問JSON中的每個元素。

在這個例子中,我們首先獲取“students”節點,并檢查它是否是數組。如果是,我們就可以遍歷數組中的每個學生,然后從每個學生節點獲取姓名、年齡和課程列表。我們也可以檢查課程節點是否是一個數組,如果是,我們就可以遍歷它,并將每個課程添加到一個List中。

最后,我們只需打印每個學生正在上的課程列表。這樣,我們就可以從嵌套的列表中提取出有用的信息,而不必手動解析JSON字符串。