我需要这样的输出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()将其转换为Json。toJson(游戏)
如下所示。
Gson是一个Json库(Google的项目),它使开发人员在使用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;
}
}
问题内容: 我正在读一本书,重新整理了我的数据结构,它提出的一个问题是不使用“第一个”和“最后一个”指针来构建一个循环的单链表,而是通过使用一个引用来访问它。当前”。我不确定我是否理解这个问题,我一直以为我至少需要第一个或最后一个。这是我的实现,但是它具有“ first”,不确定如何解决。您能否评论一下如何调整代码以消除对第一代码的依赖? 然后是列表本身: 问题答案: 如果您有一个循环链表,则每个
我需要对while或do循环进行编码,以确定用户输入的数字是否在特定范围内(30
问题内容: 在我的代码中,我有一个for循环,迭代一个代码方法,直到满足for条件为止。 反正有没有打破这个for循环? 因此,如果我们看下面的代码,如果我们想在达到“ 15”时打破这个for循环,该怎么办? 我尝试了以下无济于事: 我尝试了一个循环: 我可以实现我想要的唯一方法是打破for循环,我不能暂时将其替换,如果要使用if语句。 编辑: 仅作为示例提供了此代码,这不是我试图将其实现的代码。
我已经用Java编写了这个开关案例程序。但是,while循环没有中断。代码如下: 我不知道,为什么break函数在这个循环中不起作用…请帮帮我..
问题内容: 请看下面的Java 无限循环。它导致其下面的语句的编译时错误。 以下相同的无限循环可正常工作,并且不会发出任何错误,其中我只是用布尔变量替换了条件。 同样在第二种情况下,循环之后的语句显然不可访问,因为布尔变量为true,但编译器根本没有抱怨。为什么? 编辑:显然,以下版本的卡在无限循环中,但是即使循环中的条件始终存在,因此循环下面的语句也不会对该语句下的语句发出任何编译器错误,因此循
问题内容: 给定一个以复杂的,循环的方式相互引用的类实例的集合:垃圾收集器是否可能无法释放这些对象? 我隐约记得过去这是JVM中的问题,但我 认为 这在几年前已解决。但是,在jhat中进行的一些调查显示,循环引用是我现在面临的内存泄漏的原因。 注意:我一直给人以JVM能够解析循环引用并从内存中释放这种“垃圾岛”的印象。 但是,我提出这个问题只是为了看看是否有人发现了任何异常。 问题答案: 循环引用