Java JSONArray奇怪的结果

Java JSONArray奇怪的结果,java,arrays,json,Java,Arrays,Json,我试图使用JSONArray和JSONObject从java中的另一个类获取一些信息,但由于某些原因,我得到了非常奇怪的结果 我的Info.java类我有: public JSONArray getSpawnedPets() { JSONArray petsArray = new JSONArray(); JSONObject petO = new JSONObject(); boolean spawned = false; for (int i = 0; i &

我试图使用JSONArray和JSONObject从java中的另一个类获取一些信息,但由于某些原因,我得到了非常奇怪的结果

我的Info.java类我有:

public JSONArray getSpawnedPets() {
    JSONArray petsArray = new JSONArray();
    JSONObject petO = new JSONObject();
    boolean spawned = false;
    for (int i = 0; i <= 3; i++) {
        spawned = true;
        if (spawned) {
            petO.put("petID", i);
            petO.put("petOwner", "owner"+i);
            petO.put("petName", "name");
            petO.put("color", "s");
            petO.put("particle", "s");
            petsArray.add(petO);
        }
    }
    return petsArray;
}
public class main {
    public static void main(String[] args) {
        JSONArray petsArray = new JSONArray();
        Info in = new Info();
        petsArray = In.getSpawnedPets();
        if (petsArray != null) {
            for (int i = 0; i < petsArray.size(); i++) {
                JSONObject po = (JSONObject) petsArray.get(i);
                System.out.println("PetInfo:");
                System.out.println(po.get("petID")+":");
                System.out.println(""+po.get("petName"));
                System.out.println(""+po.get("petOwner"));
            }
        }
    }
}
我做错什么了吗?我找不到我的问题,相同的代码但不使用类,但我必须使用类来解决它


干杯。

在每次迭代中创建jsonobject否则,只有一个jsonobject
jsonobject petO=new jsonobject()在循环的每次迭代中都会更新

 JSONArray petsArray = new JSONArray();
 JSONObject petO;
    //boolean spawned = false; // no need of it
    for (int i = 0; i <= 3; i++) {
        //spawned = true;
        //if (spawned) { // no need of it , has no effect, always true
            petO = new JSONObject();
            // ^^^^^^^^^^^^^^^^^
            petO.put("petID", i);
            petO.put("petOwner", "owner"+i);
            petO.put("petName", "name");
            petO.put("color", "s");
            petO.put("particle", "s");
            petsArray.add(petO);
        //}
    }
JSONArray-petsArray=new-JSONArray();
JSONObject petO;
//布尔繁殖=假;//不需要

对于(int i=0;我看起来必须比霹雳更快才能首先回答一个相当简单的问题,哈哈。哦!好吧,非常感谢!关于if,是因为我从一个文件中得到了它,但为了更好地理解它,我决定简化一点。我很高兴我能帮上忙,愉快地编码,@Vlasec我刚刚吃了一顿饭在boost:)上,您可以尝试的是先发布您的答案,并附上主要解释,然后再添加次要内容,祝您好运
 JSONArray petsArray = new JSONArray();
 JSONObject petO;
    //boolean spawned = false; // no need of it
    for (int i = 0; i <= 3; i++) {
        //spawned = true;
        //if (spawned) { // no need of it , has no effect, always true
            petO = new JSONObject();
            // ^^^^^^^^^^^^^^^^^
            petO.put("petID", i);
            petO.put("petOwner", "owner"+i);
            petO.put("petName", "name");
            petO.put("color", "s");
            petO.put("particle", "s");
            petsArray.add(petO);
        //}
    }