Данные Json в CSV с помощью groovy

#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 — файле.

выход