Как преобразовать конкретную строку в разделитель «=» для ключа и значения и преобразовать ее в json в golang

#go

#Вперед

Вопрос:

как преобразовать такую строку в json следующим образом (golang)

 string:
 'abc=123
fruit=apple
pet=dog'


json:
{"abc":123,"fruit":"apple","pet":"dog"}
  

Ответ №1:

Вы можете начать с разделения входной строки на отдельные строки ( entries ).
Затем в цикле for разделите каждую строку на = символ и поместите запись с соответствующим ключом и значением в map ( m ) .
Затем вы можете использовать json.Marshall для преобразования map в json ( jsonString ).

 package main

import (
    "fmt"
    "strings"
    "encoding/json"
)

func main() {
    s := `abc=123
fruit=apple
pet=dog`

    entries := strings.Split(s, "n")
    m := make(map[string]string)
    for _, e := range entries {
            parts := strings.Split(e, "=")
        m[parts[0]] = parts[1]
    }
    jsonString, _ := json.Marshal(m)
    fmt.Println(string(jsonString))
}
  

Комментарии:

1. @user14307253 пожалуйста, примите ответ, если он удовлетворяет вашему вопросу — поэтому он закрывается.