JsonSlurper возвращает Нет сигнатуры метода: groovy.json.JsonSlurper.parseText() применим для типов аргументов: (java.util.ArrayList)

Я пытаюсь проанализировать файл JSON с JsonSlurper.parseText, но продолжаю получать подобные проблемы.

def jsonParse = null
def http = new HTTPBuilder(url)
http.auth.basic(username, password)
http.request(Method.GET) {
    response.success = { resp, reader ->;
      jsonParse = new JsonSlurper().parseText(reader)
    }
}

Всякий раз, когда я запускаю свое приложение, появляется сообщение об ошибке

Нет подписи метода: groovy.json.JsonSlurper.parseText() применим для типов аргументов: (java.util.ArrayList)

Я понимаю, что JsonSlurper.parseText () запрашивает тип java.util.ArrayList в качестве входных данных. Поэтому я попробовал следующее, чтобы выяснить тип ввода, используя этот код.

def jsonParse = null
def http = new HTTPBuilder(url)
http.auth.basic(username, password)
http.request(Method.GET) {
    response.success = { resp, reader ->;
      jsonParse = reader
    }
}
render jsonParse.getClass()

Это распечатывает следующее:

class java.util.ArrayList

Я не понимаю, почему я получаю эту ошибку при вводе данных с правильным типом данных.

Какие-либо предложения?

1 ответ

Решение

Согласно документации, HTTPBuilder может анализировать ваш JSON для вас. Если ваш ответ JSON имеет корень в виде массива JSON, то это объясняет объект ArrayList в переменной считывателя.

Другие вопросы по тегам