douwaz34842 2017-06-17 16:34
浏览 109
已采纳

从JSON字符串中检索数组元素的值的最佳方法是什么

Trying to retrieve value "default-token-k99mq" from below JSON in go program ...

const input = `{
  "kind": "ServiceAccount",
  "apiVersion": "v1",
  "metadata": {
    "name": "default",
    "namespace": "mynamespace",
    "selfLink":         "/api/v1/namespaces/mynamespace/serviceaccounts/default",
    "uid": "483d1043-4d68-11e7-be08-3a3f3b149220",
    "resourceVersion": "425039",
    "creationTimestamp": "2017-06-09T23:06:34Z"
  },
  "secrets": [
    {
      "name": "default-token-k99mq"
    }
  ]
}`

Need to get names from secrets array

  • 写回答

1条回答 默认 最新

  • dongmi19720408 2017-06-17 17:05
    关注

    You can do this https://play.golang.org/p/27eKFmBCHY

    package main
    
    import (
        "fmt"
        "encoding/json"
    
    )
    
    func main() {
        const input = `{
            "kind": "ServiceAccount",
            "apiVersion": "v1",
            "metadata": {
                "name": "default",
                "namespace": "mynamespace",
                "selfLink":      "/api/v1/namespaces/mynamespace/serviceaccounts/default",
                "uid": "483d1043-4d68-11e7-be08-3a3f3b149220",
                "resourceVersion": "425039",
                "creationTimestamp": "2017-06-09T23:06:34Z"
            },
            "secrets": [
                {
                    "name": "default-token-k99mq"
                }
             ]
        }`
        type NameStruct struct {
            Name string `json:"name"`
        }
        type Secret struct {
            Secrets []NameStruct `json:"secrets"`
        }
    
        secret := Secret{}
        json.Unmarshal([]byte(input), &secret)
        fmt.Println(secret.Secrets[0].Name)
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况