Как получить весь массив JSON на основе индекса, используя простую библиотеку JSON - PullRequest
0 голосов
/ 17 февраля 2020

У меня просто есть следующий формат запроса JSON: (Оригинальный JSON огромен, поэтому делюсь примером из блога)

Пример запроса:

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

У меня просто есть метод ниже, который должен получить каждый индекс вышеупомянутого JSONArray. Приведенный выше запрос должен вернуть 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.
            }       

        }
    }

Приведенный выше код I просто хочу напечатать каждый индекс массива. Как и в первой итерации, которую я просто хочу напечатать ниже:

array [0]:

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

Вторая итерация Должна быть напечатана ниже:

array [1]:

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

Приведенный выше запрос может иметь номер n в массиве [n]. Я просто хочу напечатать Systout (Объекты) в формате for l oop, как указано выше.

Использование библиотеки Simple json для чтения JSONObject.

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

Может кто-нибудь помочь мне добиться этого?

1 Ответ

0 голосов
/ 18 февраля 2020

Вы можете просто написать System.out.println(object);. Метод JSONObject toString() автоматически преобразует его в json. Ваш for l oop может быть изменен как

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