如何使用简单的 JSON 库根据索引获取整个 JSON 数组

How to fetch the entire JSON array based on index using simple JSON Library

我只有下面的 JSON 请求格式:(原来的 JSON 很大,所以分享博客中的示例)

示例请求:

{
  "testData": [
    {
      "firstName": "Lokesh",
      "lastName": "Gupta",
      "website": "howtodoinjava.com"
    },
    {
      "firstName": "Brian",
      "lastName": "Schultz",
      "website": "example.com"
    }
  ]
}

我只有下面的方法可以获取上面 JSON 数组的每个索引。上面的请求应该 return size() == 2。我只想在每次迭代中打印整个数组 [0] 和数组 [1],如下所示。

public static void constructJSON(CheckoutDTO result)throws Exception
    {
        String jsonBody = result.getJson();
        JSONObject object = parseAndReturnObj(jsonBody);
        JSONArray array= (JSONArray) object.get("testData");
        int index=0;
        for(int i=0;i<array.size();i++)
        {
            index++;
            JSONObject objects = (JSONObject) array.get(""); 

            Sysout(objects); // Here I just want to print the array[0] index as entire JSONObject.
            }       

        }
    }

上面的代码我只想打印数组的每个索引。就像第一次迭代一样,我只想在下面打印:

数组[0]:

  {
        "firstName": "Lokesh",
        "lastName": "Gupta",
        "website": "howtodoinjava.com"
  }

第二次迭代应该打印如下:

数组[1]:

     {
            "firstName": "Brian",
            "lastName": "Schultz",
            "website": "example.com"
     }

以上请求可能有"n"个数组[n]。我只想按上述格式在 for 循环中打印 Systout(Objects)。

使用简单 json 库读取 JSON 对象。

   <dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
    </dependency>

谁能帮我实现这个目标?

你可以简单地写System.out.println(object);JSONObjecttoString() 方法会自动将其转换为 json。您的 for 循环可以修改为

for (int i = 0; i < array.size(); i++) {
    index++;
    JSONObject object = (JSONObject) array.get(i);
    System.out.println(object);
}