2015-01-28 5 views
-1

im, получающий на странице JSP некоторую информацию в буфере, мне удается построить массив с этим. Мой вопрос заключается в том, как я могу разобрать этот строковый объект на объект json и получить значения для финализации его на строке notepad.txt на строку.Как разобрать строковый объект в объект json

JSP страницу, чтобы получить буферные данные

<%@ page import="java.io.BufferedReader"%> 
<% 
try { 

     String body = null; 
     StringBuilder stringBuilder = new StringBuilder(); 
     BufferedReader bufferedReader = null; 

     try { 

      // aqui está o ponto: tem que abrir uma stream e ler os bytes, não vem pronto. 
      bufferedReader = request.getReader(); 



      char[] charBuffer = new char[128]; 
      int bytesRead = -1; 

      // precisa ler todos os caracters do buffer de entrada do request. 

      while ((bytesRead = bufferedReader.read(charBuffer)) > 0) { 
       stringBuilder.append(charBuffer, 0, bytesRead); 
      } 

     } catch (Exception ex) { 
      throw ex; 
     } finally { 
      if (bufferedReader != null) { 
       try { 
        bufferedReader.close(); 
       } catch (Exception ex) { 
        throw ex; 
       } 
      } 
     } 


     // pronto aqui está o conteúdo da chamada 
     body = stringBuilder.toString(); 

     System.out.println("Body:["+body+"]"); 


} catch (Exception e) { 
    e.printStackTrace(); 
} finally { 

} 

%> 

Корпус:

[ 
    [ 
    { 
     "summary": { 
     "externalInputs": [], 
     "accessPointId": 2, 
     "authorizedCount": 0, 
     "closedTime": null, 
     "detectedCount": 0, 
     "endTime": 1422493644041, 
     "enteredCount": 0, 
     "eventId": 12760, 
     "identifiedCount": 0, 
     "openedTime": null, 
     "siteId": 1, 
     "startTime": 1422493583912, 
     "systemFailure": null, 
     "unlockedTime": null, 
     "assistanceRequested": false, 
     "blacklistedPersonDetected": false, 
     "doorOpenedManually": false, 
     "doorRemainedOpen": false, 
     "hasEnded": true, 
     "tailgatingDetected": false, 
     "wasDoorOpened": false 
     }, 
     "entityDetailList": [] 
    } 
    ] 
] 

Попытка упростить мой вопрос, мне нужно, чтобы разобрать этот массив для печати в notepad.txt, строка в строке.

ответ

0

Вы можете использовать библиотеку org.json для разбора объектов JSON, очень легкий и довольно простой в использовании. org.json Вы можете импортировать библиотеку и использовать ее для создания объекта JSON или JSON Array в урском случае, что-то вроде этого. :

body ; // Your JSON String 
JSONArray jArray = new JSONArray(body); 
System.out.println(jArray.get(0).get("summary").toString()); 

Надеюсь, это поможет вам.

+0

Я импортирую следующую библиотеку - <% @ page import = "org.json.simple.JSONArray"%>, но теперь я получаю этот erro на новом JSONArray (body); -> Конструктор JSONArray (String) не определен –

Смежные вопросы