可以使用标准库中的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 著作权归作者所有。请勿转载和采集!

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