首页 > 解决方案 > 如何将特定字符串转换为键和值的拆分“=”并在golang中将其转换为json

问题描述

如何像这样将这种字符串转换为json(golang)

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


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

标签: go

解决方案


您可以首先将输入字符串拆分为单独的行 ( entries)。
然后在 for 循环中,拆分字符上的每一行,=并将具有相应键和值的条目放入映射 ( m)。
然后,您可以使用json.Marshall将地图转换为 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))
}

推荐阅读