Arrays 如何确定数组是否包含属性等于给定值的对象

Arrays 如何确定数组是否包含属性等于给定值的对象,arrays,go,arrayobject,Arrays,Go,Arrayobject,我有一个类似这样的数组,它将接收来自API的响应 [ { "id": "F1eOrsr3g7gad6", "created_at": 1591951315, "url": "https://example.com", "secret": "1234", "sec

我有一个类似这样的数组,它将接收来自API的响应

[
    {
        "id": "F1eOrsr3g7gad6",
        "created_at": 1591951315,
        "url": "https://example.com",
        "secret": "1234",
        "secret_exists": true
    },
    {
        "id": "FintcvTBaYwPz2",
        "created_at": 1591953315,
        "url": "http://example.com",
        "secret": "34532",
        "secret_exists": true
    }
]
如何检查此数组是否具有值“F1eOrsr3g7gad6

我曾尝试编写一个函数,如果索引值存在,该函数将返回索引值

func isExists(key string, value string, data []map[string]interface{}) (result int) {
    result = -1
    for i, search := range data {
        if search[key] == value {
            result = i
            break
        }
    }
    return result
}
var value string = "FintcvTBaYwPz2"
var key string = "id"
result := isExists(key, value, data) // here data will be the array which I want to pass.
fmt.Println("Result: ", result)

您已经完成了所有的艰苦工作,只需更改函数的签名以返回
bool
而不是索引,然后返回
true
false

func isExists(key string, value string, data []map[string]interface{}) (exists bool) {

    for _, search := range data {
        if search[key] == value {
            return true
        }
    }
    return false
}

JSON将响应解码为切片结构。然后在切片上迭代以找到匹配的
id
。用于将JSON响应转换为具有代表性的go结构。您的问题是什么?你需要什么帮助?谢谢@colm。当我将对象数组作为参数传递到函数中时,会出现此错误
无法将arr(type[]接口{})转换为type[]字节
检查我包含的游乐场链接-它显示了如何将JSON字节流转换为可用的go数据类型。