SyntaxError: JSON .parse: ожидается ',' или ']' после элемента массива - PullRequest
0 голосов
/ 24 февраля 2020

У меня есть некоторые проблемы при синтаксисе JSON. Я хочу записать все параметры сборки конвейера заданий jenkins с параметрами в файл JSON, используя $ {params}! В моем случае у меня есть 4 параметра (apis: multi-select, name: string, version: single-select и status: Boolean), есть скрипт Jenkinsfile

pipeline {
  agent any
    stages {
        stage('Build') {              
            steps {              
                script{
                  sh "./test.sh ${params}"
                }
            }
        }
    }
}

Содержание теста. sh

#!/bin/bash
a=$(echo -n $@ | tr -d ']['| jq -nRs 'inputs |split(",")'| sed 's/:/":"/')
echo $a > file.json

Вывод в jenkins

+ ./test.sh [apis:dev,qa,prod, name:element, version:g3, status:true]
[ "apis":"dev", "qa", "prod", " name":"element", " version":"g3", " status":"true" ]

Результат в файле. json

SyntaxError: JSON.parse: expected ',' or ']' after array element at line 1 column 9 of the JSON data

Мой вопрос заключается в том, как отформатировать вывод, чтобы получить чистый результат в файле. json вот так

[{
    "apis": ["dev",
        "qa",
        "prod"
    ],
    " name": "element",
    " version": "g3",
    " status": "true"
}]

PS: я не могу использовать Groovy

...