Как я могу получить значение от объекта JSON в Groovy - PullRequest
0 голосов
/ 03 сентября 2018
def RawRecordsDateRangeResponse = context.expand('${getRawRecordsForDateRange#Response}')   
    log.info RawRecordsDateRangeResponse

Мой ответ:

{"2018-09-03":"https://dhap-dconnect-telemetry-data-dev2.s3.amazonaws.com/ULT/d83350d2-af56-11e8-b612-0242ac11001118/temperature/raw-2018-09-03.json"}

Здесь я хочу получить значение из ключа ответа json как дату.

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Если вам нужен только ключ сообщения JSON, а не значение, вы можете использовать что-то вроде:

import groovy.json.JsonSlurper

def rawRecordsDateRangeResponse = '''{"2018-09-03":"https://dhap-dconnect-telemetry-data-dev2.s3.amazonaws.com/ULT/d83350d2-af56-11e8-b612-0242ac11001118/temperature/raw-2018-09-03.json"}'''
def json = new JsonSlurper().parseText(rawRecordsDateRangeResponse)

def date = json.collect({it.key})
print date

Это производит [2018-09-03].

0 голосов
/ 03 сентября 2018

Ваш ответ представляет документ JSON и сохраняет его в переменной типа String. Вы можете разобрать его, используя groovy.json.JsonSlurper класс. Рассмотрим следующий пример:

import groovy.json.JsonSlurper

def RawRecordsDateRangeResponse = context.expand('${getRawRecordsForDateRange#Response}')

def json = new JsonSlurper().parseText(RawRecordsDateRangeResponse)

def url = json.'2018-09-03'

println url

Выход:

https://dhap-dconnect-telemetry-data-dev2.s3.amazonaws.com/ULT/d83350d2-af56-11e8-b612-0242ac11001118/temperature/raw-2018-09-03.json
...