JSON Builder для доступа к переменной внутри массива JSON - PullRequest
0 голосов
/ 31 октября 2018

Я хочу изменить значение 'action' на "1".

В настоящее время мой код выглядит следующим образом.

import groovy.json.JsonBuilder
import groovy.json.JsonSlurper

def slurped = new JsonSlurper().parseText(vars.get("reqApproval"))
def builder = new JsonBuilder(slurped)

builder.content.action = "1"
vars.put("reqApproval", builder.toPrettyString())

Массив JSON выглядит так (лишние переменные удалены)

 {
    "requisitionApprovals": [
        {
            "action": ""
        }
     ]
 }

Я не уверен, каков синтаксис для доступа к полю действия внутри массива RequisitionApprovals.

Мое текущее решение просто добавляет переменную 'action' вне массива, но мне нужно получить доступ к переменной внутри массива.

Я пробовал все ниже, и они не работают

builder.content.requisitionApprovals.action = "1"
builder.content.requisitionApprovals.[0].action = "1"
builder.content.requisitionApprovals[0].action = "1"

1 Ответ

0 голосов
/ 31 октября 2018

Вам нужен пробел до и после индекса массива, вот так

builder.content.requisitionApprovals.[ 0 ].action = "1"
...