Я хотел бы создать объект JSON и записать содержимое в файл.
Изначально я был вдохновлен this и попытался:
def data = [
a:"test: ${myVar}"
]
writeJSON(file: 'message1.json', json: data)
Но этоСбой:
Не удалось создать экземпляр {file = message1.json, json = {a = test}} для WriteJSONStep (файл: String, json: JSON {}, pretty ?: int): java.lang.UnsupportedOperationException: необходимо указать класс $ с реализацией интерфейса net.sf.json.JSON
Итак, я попытался:
def data = readJSON text: '{}'
data.a = "test: ${myVar}"
writeJSON(file: 'message1.json', json: data, pretty: 4)
Теперь сборка проходит, носодержимое файла выглядит следующим образом:
{
"a": {
"bytes": [
114,
101,
108,
101,
97,
115,
101
50
],
"strings": [
"test: ",
""
],
"valueCount": 1,
"values": ["v1.0.2"]
}
}
В то время как мое намерение было {"a": "test: v1.0.2"}
Моя конечная цель состоит в том, чтобы я хотел динамически построить объект JSON, установить некоторые свойства с некоторыми динамическимиданные, а затем запишите файл JSON.
Существует ли некоторый синтаксис, который можно использовать для назначения значений в виде строк, а не в виде байтов.