#groovy #jenkins-pipeline #jenkins-plugins #jenkins-groovy #groovy-eclipse
Вопрос:
{ "BRANCH": "master", "name": "customer", "product_name" : "PQ", "domain" : "Shopping", "_id": "12345" }
Дан файл JSON, содержащий данные json для преобразования в csv/excel с использованием кода groovy.
Кто-нибудь, пожалуйста, помогите мне. Мне нужно преобразовать данные json в csv/excel с помощью заводного кода.
Комментарии:
1. Что вы пробовали до сих пор?
2. Как вы ожидаете работать с атрибутами, которые являются объектами? Например
{ "myAttr": { "name":"steve" } }
Ответ №1:
Решение
JSON лучше всего представлять в виде структуры карты, а карту трудно представить в виде csv. Однако на основе предоставленного вами образца JSON вы можете использовать что-то похожее на следующее
def jsonSlurper = new groovy.json.JsonSlurper() def json = jsonSlurper.parseText('{"BRANCH": "master","name": "customer","product_name" : "PQ","domain" : "Shopping","_id": "12345", "asdf":["asdf","asdf"], "obj":{"a":"b", "c":"d"}}') def result = json.collect { new StringBuilder().append('"').append(it.value).append('"') }.flatten().join(",") println result
Приведенный выше код также будет работать для атрибутов, которые являются массивами и объектами, но весь массив/объект будет представлять собой одну ячейку в CSV — файле.