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

java json轉一對多

劉柏宏1年前8瀏覽0評論

Java中使用JSON進行數據傳輸已經成為了一種常見的方式。在一些實際的項目中,涉及到的數據并不是單一的對象,而是一對多的情況。那么在Java中如何將JSON進行一對多的轉換呢?

// 假設有如下JSON數據
{
"name": "張三",
"hobbies": [
{
"id": 1,
"name": "看書"
},
{
"id": 2,
"name": "打游戲"
}
]
}
// 定義Java類
public class Person {
private String name;
private Listhobbies;
// getter和setter方法省略
}
public class Hobby {
private int id;
private String name;
// getter和setter方法省略
}
// 解析JSON數據
String jsonStr = "{\"name\":\"張三\",\"hobbies\":[{\"id\":1,\"name\":\"看書\"},{\"id\":2,\"name\":\"打游戲\"}]}";
JSONObject jsonObj = JSONObject.parseObject(jsonStr);
Person person = new Person();
person.setName(jsonObj.getString("name"));
JSONArray hobbiesJsonArray = jsonObj.getJSONArray("hobbies");
Listhobbies = new ArrayList<>();
for (int i = 0; i< hobbiesJsonArray.size(); i++) {
JSONObject hobbyJson = hobbiesJsonArray.getJSONObject(i);
Hobby hobby = new Hobby();
hobby.setId(hobbyJson.getIntValue("id"));
hobby.setName(hobbyJson.getString("name"));
hobbies.add(hobby);   
}
person.setHobbies(hobbies);

代碼中首先定義了一個Person類和Hobby類,Person類中包含了一個List集合類型的hobbies屬性。然后,解析JSON字符串,使用JSONArray獲取hobbies節點的子節點,循環將每個節點解析成Hobby對象并加入到List集合中,最后再將list集合設置給person的hobbies屬性。