Как преобразовать вывод команды exec в json на Голанге - PullRequest
0 голосов
/ 10 июля 2019

Я использую exec.Command(command) на Голанге и преобразую его в строку.Когда я запускаю команду systeminfo в windowOS, она возвращает тип строки key:value.Как преобразовать его в JSON?

enter image description here

Код:

// Version Function:
func Version() (version string) {
    os := OS()
    if os == "macOS X" {
        result := RunCommand("sw_vers")
        resultRune := []rune(result)
        version = string(resultRune[38:43]) // tested
    }
    if os == "Windows" {
        result := RunCommand("systeminfo")
        resultRune := []rune(result)
        version = string(resultRune[:]) // not tested
    }
    if os == "Linux" {
        result := RunCommand("lsb_release -a")
        resultRune := []rune(result)
        version = string(resultRune[:]) // not tested
    }
    return version
}
// RunCommand Function:
func RunCommand(command string) string {
    cmd := exec.Command(command)
    var stdout, stderr bytes.Buffer
    cmd.Stdout = &stdout
    cmd.Stderr = &stderr
    err := cmd.Run()
    if err != nil {
        log.Fatalf("Command "+command+" failed with %s\n", err)
    }
    outStr := string(stdout.Bytes())
    return outStr
}
...