Golang 字符串 JSON 解析成 Map:简单易懂的教程
可以使用标准库中的encoding/json包来解析 JSON 字符串。
首先定义一个结构体来表示 JSON 对象中的键值对:
type KeyValue struct {
Key string `json:'key'`
Value string `json:'value'`
}
然后定义一个函数来解析 JSON 字符串:
import (
"encoding/json"
"fmt"
)
func parseJSON(jsonStr string) (map[string]string, error) {
var kvSlice []KeyValue
err := json.Unmarshal([]byte(jsonStr), &kvSlice)
if err != nil {
return nil, err
}
kvMap := make(map[string]string)
for _, kv := range kvSlice {
kvMap[kv.Key] = kv.Value
}
return kvMap, nil
}
这个函数首先将 JSON 字符串解析成一个KeyValue结构体的切片,然后遍历这个切片,将其中的键值对存储到一个 map 中。
使用示例:
jsonStr := `[{'key':'foo','value':'bar'},{'key':'baz','value':'qux'}]`
kvMap, err := parseJSON(jsonStr)
if err != nil {
panic(err)
}
fmt.Println(kvMap) // map[foo:bar baz:qux]
原文地址: https://www.cveoy.top/t/topic/lZsh 著作权归作者所有。请勿转载和采集!