gpt4 book ai didi

json - 如何从 Go 中的 json 字符串中获取键值

转载 作者:IT王子 更新时间:2023-10-29 00:34:32 24 4
gpt4 key购买 nike

我想尝试在 Go 中从 JSON 获取键值,但我不确定如何去做。

我已经能够使用 simplejson 来读取 json 值,但是我一直无法找到如何获取键值。

谁能给我指出正确的方向和/或帮助我?

谢谢!

最佳答案

您可以通过以下方式获取 JSON 结构的顶级键:

package main

import (
"encoding/json"
"fmt"
)

// your JSON structure as a byte slice
var j = []byte(`{"foo":1,"bar":2,"baz":[3,4]}`)

func main() {

// a map container to decode the JSON structure into
c := make(map[string]json.RawMessage)

// unmarschal JSON
e := json.Unmarshal(j, &c)

// panic on error
if e != nil {
panic(e)
}

// a string slice to hold the keys
k := make([]string, len(c))

// iteration counter
i := 0

// copy c's keys into k
for s, _ := range c {
k[i] = s
i++
}

// output result to STDOUT
fmt.Printf("%#v\n", k)

}

请注意,键的顺序不得与它们在 JSON 结构中的顺序相对应。它们在最终 slice 中的顺序甚至会在完全相同代码的不同运行之间发生变化。这是因为 map 迭代的工作原理。

关于json - 如何从 Go 中的 json 字符串中获取键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17452722/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com