Go 数据类型struct问题

发布于 2022-09-12 00:06:22 字数 2778 浏览 26 评论 0

需求

如下的数据结构中,创建一个struct数据结构。

{
  "event": {
    "header": {
      "namespace":"Alexa.Discovery",
      "name":"Discover.Response",
      "payloadVersion": "3",
      "messageId": "<message id>"
    },
    "payload":{
      "endpoints":[
        {
            "endpointId": "<unique ID of the endpoint>",
            "manufacturerName": "<the manufacturer name of the endpoint>",
            "modelName": "<the model name of the endpoint>",
            "description": "<a description that is shown in the Alexa app>",                      "friendlyName": "Front door camera",
            "displayCategories": [ "CAMERA" ],
          "cookie": {
          },
          "capabilities":
          [
            {
              "type": "AlexaInterface",
              "interface": "Alexa.CameraStreamController",
              "version": "3",
              "cameraStreamConfigurations" : [
                  {
                    "protocols": ["RTSP"],
                    "resolutions": [{"width":1920, "height":1080}, {"width":1280, "height":720}],
                    "authorizationTypes": ["BASIC"],
                    "videoCodecs": ["H264", "MPEG2"],
                    "audioCodecs": ["G711"]
                  },
                  {
                    "protocols": ["RTSP"],
                    "resolutions": [{"width":1920, "height":1080}, {"width":1280, "height":720}],
                    "authorizationTypes": ["NONE"],
                    "videoCodecs": ["H264"],
                    "audioCodecs": ["AAC"]
                 }
              ]
            },
            {
              "type": "AlexaInterface",
              "interface": "Alexa.PowerController",
              "version": "3"
            },
            {
              "type": "AlexaInterface",
              "interface": "Alexa.EndpointHealth",
              "version": "3",
              "properties": {
                "supported": [
                  {
                    "name": "connectivity"
                  }
                ],
                "proactivelyReported": true,
                "retrievable": true
              }
            }
          ]
        }
      ]
    }
  }
}

问题

capabilities 里的数据有部分是存在的,但并不是每一个都有cameraStreamConfigurations,如何创建 capabilities的数据结构?capabilities []Capability?

type Endpoint struct {
    capabilities []Capability `json:"capabilities"`
}

type Capability struct {
    Type       string               `json:"type"`
    Interface  string               `json:"interface"`
    Version    string               `json:"version"`
    Properties CapabilityProperties `json:"properties"`
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蘸点软妹酱 2022-09-19 00:06:23

并不一定有,就可忽略就好。omitempty

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文