Groovy Rest Client: Ошибка при разборе приложения / json - PullRequest
0 голосов
/ 06 ноября 2018

Мне нужно использовать простой REST API, который возвращает либо «true», либо «false» (без скобок).

Когда я попытался вызвать этот API с помощью Groovy Rest Client в файле Gradle, из Jenkins я получаю исключение ниже.

Ошибка анализа ответа 'application / json; charset = UTF-8' groovy.json.JsonException: полезная нагрузка JSON должна начинаться с открывающей фигурной скобки '{' или открывающей квадратной скобки '['. Вместо этого 'true' было найдено в строке: 1, столбец: 1

Примечание: этот код работает нормально

  1. при вызове из командной строки
  2. при вызове из плагина Chrome 'Почтальон'
  3. при вызове из затмения в моей машине

Код:

response1 = client.get  (
                            path: 'updatetenantState'
                            ,query : [tenantId :tenant_id, inActive:true]
                            ,requestContentType: ContentType.JSON
                            ,headers: [Accept: 'application/json']
                        )

Я застрял на этом. Заранее спасибо.

1 Ответ

0 голосов
/ 07 ноября 2018

не знаю, какую библиотеку вы используете, но ошибка

Полезная нагрузка JSON должна начинаться с открывающей фигурной скобки '{' или открывающей квадратной скобки '['

является результатом использования JsonSlurperClassic для разбора строки 'true'

import groovy.json.*
new JsonSlurperClassic().parseText('true')

однако JsonSlurper работает нормально

import groovy.json.*
new JsonSlurper().parseText('true')

так что вам просто нужно изменить способ анализа ответа

...