可以使用标准库中的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]
Golang 字符串 JSON 解析成 Map:简单易懂的教程

原文地址: https://www.cveoy.top/t/topic/lZsh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录