gpt4 book ai didi

go - 如何根据 golang 中的条件从 json 对象数组中获取值?

转载 作者:数据小太阳 更新时间:2023-10-29 03:40:13 25 4
gpt4 key购买 nike

我有一个这样的数组。

[{
"seq" : 2,
"amnt" : 125
},
{
"seq" : 3
"amnt" : 25
},
{
"seq" : 2
"amnt" : 250
}]

我需要从这个 seq 为 2 的数组中获取对象。

在 Linq 中,我们有扩展,我可以在其中放置 where 条件。

在 Go 中,我需要循环并使用 for 循环 获取它还是有其他方法?

请建议我一个最佳的方法。

注意:json有很多字段,这个例子我只给了两个。

我是围棋的新手。

最佳答案

我不知道执行此操作的“最佳”方法,但这是您现在可以做的事情:

package main

import (
"encoding/json"
"fmt"
)

func main() {
byt := []byte(`[{"seq": 2,"amnt": 125},{"seq": 3,"amnt": 25},{"seq": 2,"amnt": 250}]`)

var dat []map[string]int

if err := json.Unmarshal(byt, &dat); err != nil {
panic(err)
}

for idx := range dat {

if dat[idx]["seq"] == 2 {
fmt.Println("bingo")
}
}
}

祝你好运。

编辑:在我的第一个回答中,我假设你可能有非数字值,所以这就是我使用 interface{} 类型的原因,但在@JimB 建议后我改变了它仅查找 int 类型,因此如果您必须在 json 有效载荷中包含一些 string 或任何其他类型,解码将失败。

关于go - 如何根据 golang 中的条件从 json 对象数组中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22196484/

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