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]
原文地址: http://www.cveoy.top/t/topic/Iyq 著作权归作者所有。请勿转载和采集!