[英]Java JSONObjects Looping in JSONArray
我需要這樣的輸出JSON:
{
"id": 171799578198,
"name": "Forum Striking",
"players": [
{
"avatar": {
"userId": 21393,
"currentHomeId": 21393,
"clanId": 171799578198
}
},
{
"avatar": {
"userId": 64425223942,
"currentHomeId": 64425223942,
"clanId": 171799578198
}
},
{
"avatar": {
"userId": 17180463537,
"currentHomeId": 17180463537,
"clanId": 171799578198
}
}
]
}
每個"avatar":
部分中的值將通過循環獲得。 我將如何形成這種JSON?
我有第一點:
{
"id": 171799578198,
"name": "Forum Striking"
}
但是我不確定要獲得球員名單需要做什么。
我正在使用Java-JSON庫。
您應該創建一個游戲,一個播放器和一個頭像對象。 游戲必須具有玩家列表,並且玩家必須具有頭像對象。
填充您的游戲對象,並通過如下所示的new Gson().toJson(game)
將其轉換為Json。
Gson是一個Json庫(Google的Project),使用Json可以使開發人員的工作更輕松;)
public static void main(String[] args) throws IOException {
Game game = new Game();
game.setId(171799578198L);
game.setName("Forum Striking");
Avatar avatar = new Avatar();
avatar.setUserId(21393L);
avatar.setClanId(171799578198L);
avatar.setCurrentHomeId(21393L);
Player player = new Player();
player.setAvatar(avatar);
game.addPlayers(player);
avatar = new Avatar();
avatar.setUserId(64425223942L);
avatar.setClanId(171799578198L);
avatar.setCurrentHomeId(64425223942L);
player = new Player();
player.setAvatar(avatar);
game.addPlayers(player);
System.out.println(new Gson().toJson(game));
}
它打印:
{
"id": 171799578198,
"name": "Forum Striking",
"players": [
{
"avatar": {
"userId": 21393,
"currentHomeId": 21393,
"clanId": 171799578198
}
},
{
"avatar": {
"userId": 64425223942,
"currentHomeId": 64425223942,
"clanId": 171799578198
}
}
]
}
游戲對象
public class Game {
private Long id;
private String name;
private List<Player> players;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Player> getPlayers() {
return players;
}
public List<Player> addPlayers(Player player) {
if (getPlayers() == null)
setPlayers(new ArrayList<Player>());
players.add(player);
return players;
}
public void setPlayers(List<Player> players) {
this.players = players;
}
}
播放器對象,
public class Player {
private Avatar avatar;
public Avatar getAvatar() {
return avatar;
}
public void setAvatar(Avatar avatar) {
this.avatar = avatar;
}
}
頭像對象
public class Avatar {
private Long userId;
private Long currentHomeId;
private Long clanId;
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Long getCurrentHomeId() {
return currentHomeId;
}
public void setCurrentHomeId(Long currentHomeId) {
this.currentHomeId = currentHomeId;
}
public Long getClanId() {
return clanId;
}
public void setClanId(Long clanId) {
this.clanId = clanId;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.