Как разбить строку и заполнить таблицу - JAVA JSOUP - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь разделить текст этого запроса: `

Document document = Jsoup .connect("https://web.servientrega.com/PortalServientrega/WebServicePortal/tracking/api/envio/2003159943/1/es") 
        .validateTLSCertificates(false) 
        .ignoreContentType(true) 
        .get(); System.out.println(document.text());

с результатом. Я хочу заполнить таблицу информацией, которую я получил.изображение: Изображение с я хочу сделать

1 Ответ

0 голосов
/ 25 апреля 2018

Ответ, который дает вам страница в формате Json. Вам нужно разобрать его, прежде чем вы сможете его обработать. Я бы предложил использовать Gson для анализа этого ответа. В настоящее время последняя версия Gson - 2.8.2, которую можно загрузить здесь .

Это рабочий пример, который помещает ответ в таблицу:

String[][] table;
JsonParser parser = new JsonParser();
JsonObject obj = parser.parse(document.text()).getAsJsonObject();
JsonArray array = obj.get("movimientos").getAsJsonArray();
table = new String[3][array.size()];
for (int i = 0; i < array.size(); i++) {
    JsonObject element = array.get(i).getAsJsonObject();
    table[0][i] = element.get("fechaDatetime").getAsString();
    table[1][i] = element.get("movimiento").getAsString();
    table[2][i] = element.get("ubicacion").getAsString();
}

Полученная таблица выглядит следующим образом:

------------------------------------------------------------------------------------------
|    2018-04-04T18:09:16    |   Guia generada               |   Bogota (Cundinamarca)    |
|    2018-04-05T01:37:00    |   Ingreso al centro logistico |   Bogota (Cundinamarca)    |
|    2018-04-05T20:29:35    |   Salio a ciudad destino      |   Bogota (Cundinamarca)    |
|    2018-04-06T23:52:59    |   Ingreso al centro logistico |   Barranquilla (Atlantico) |
|    2018-04-09T07:50:38    |   En zona de distribucion     |   Barranquilla (Atlantico) |
|    2018-04-09T10:17:36    |   Reportado entregado         |   Barranquilla (Atlantico) |
|    2018-04-09T18:29:54    |   Entrega verificada          |   Barranquilla (Atlantico) |
------------------------------------------------------------------------------------------
...