Я не уверен, как правильно проанализировать вложенный JSON с помощью Groovy.Я включил работающий скрипт на Python, чтобы вы могли точно видеть, что я пытаюсь сделать в Groovy.
JSON Мне нужно проанализировать:
json_payload = {"number": 3585, "url": "https://jenkins.test.com/job/test/3585/",
"displayName": "test_3585", "timestamp": 1516992464686,
"actions": [{"causes": [{"userId": "test"}]}]}
Что я хочу сделать (Python):
class JenkinsParser:
def __init__(self, json_data):
self.display_name = json_data['displayName']
self.url = json_data['url']
self.start_time = json_data['timestamp']
self.exec_url = json_data['url']
self.exec_number = json_data['number']
self.user = None
actions = json_data['actions']
for a in actions:
if 'causes' in a:
for cause in a['causes']:
if 'userId' in cause:
self.user = cause['userId']
url_split = self.execution_url.split("/job/")
self.jenkins_url = url_split[0]
self.job_name = url_split[-1].split("/")[0]
Примечание: Groovy не обязательно должен быть классом и не должен использовать JSonSlurper
Если я использую JsonSlurper
def slurper = new groovy.json.JsonSlurper()
def result = slurper.parseText(json_payload)
Могу ли я получить доступ ко всем нужным мне значениям?
result.displayName
result.url
result.timestamp
result.url
result.number
result.actions.causes.userId
Я не уверен, как получить userId ..