Как получить доступ к элементу массива JSON в Java

1

Я получаю json массив в output.i хочу получить доступ к конкретным ключевым словам из ответа. Как я могу..?

 ResponseEntity <String> respone;
      try {
          response =
      restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);



      String response=response.getBody(); 
      JSONObject res = new JSONObject();
      res.put("result", response);
      System.out.println(res);
      int len=res.size();
      System.out.println(len);
      JSONParser parser=new JSONParser();
        Object obj = parser.parse(response);
        JSONArray array = (JSONArray)obj;
        System.out.println(array.get(0)); } 

это формат respfonse im, получающий в output.i хочу получить заявку от ответа. Как я могу?

  [
      {
            "bName": "abc", 
            "bId": "n86nbnhbnghgy76"

          }
        ]
  • 1
    джексон? gson? библиотеки, которые помогут вам довольно легко разобрать элементы
  • 0
    @sfat ... я использую Джексона ..
Показать ещё 2 комментария
Теги:
rest

2 ответа

0
Лучший ответ

РЕДАКТИРОВАТЬ

Попробуйте следующее:

  String response=response.getBody(); 
  JSONObject res = new JSONObject();
  System.out.println(res);
  int len=res.size();
  System.out.println(len);
  JSONParser parser=new JSONParser();
    Object obj = parser.parse(response);
    JSONArray array = (JSONArray)obj;
    res=(JSONObject)array.get(0);
    System.out.println(res.get("bId"));

Вывод :

n86nbnhbnghgy76

Это основано на вашем коде и в Simple Json Library.

  • 0
    . еще та же ошибка - конструктор JSONArray (String) не определен
  • 0
    Примечание JSONArray.fromObject(response); это то, что вы должны использовать, посмотрите на вторую строку.
Показать ещё 6 комментариев
1

Декодируйте свою строку с помощью конструктора JSONArray(String json):

String response = response.getBody(); 
JSONArray res = new JSONArray(response);
String bId = res.getJSONObject(0).get("bId");
System.out.println(bid);
  • 0
    это показывает мне ошибку как это - Конструктор JSONArray (String) не определен для этой строки JSONArray res = new JSONArray (response);
  • 0
    Какую библиотеку JSON вы используете? Я использую jettison.codehaus.org/Download
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню