如何将 Json 数组转换为 Avro 模式

How to convert Json Array to Avro Schema

嘿,我是 Avro Schema 的新手 space,需要将 Jason Array 转换为 Avro Schema。

下面的 Jason 是一种客户端,其中 serviceName 和启用程序-

如果 Enabler 为 true 表示特定服务由客户端使用 如果 Enabler 为 false 则表示特定服务未被客户端使用。

{
  "clientName": "Haven",
  "serviceDetailsList": [
    {
      "serviceName": "Service1",
      "enabled": true
    },
    {
      "serviceName": "Service2",
      "enabled": true
    },
    {
      "serviceName": "Service3",
      "enabled": true
    },
    {
      "serviceName": "Service4",
      "enabled": false
    },
    {
      "serviceName": "Service5",
      "enabled": false
    },
    {
      "serviceName": "Service6",
      "enabled": true
    }
 ]
}

我使用了以下架构,但没有得到正确的响应。

"fields":[
    {"name": "serviceName",    "type": [ "Boolean", "false" ]  , "aliases":[ 
    "service1" ]
    },
    {"name": "serviceName",    "type": [ "Boolean", "false" ]  , "aliases":[ 
    "service2" ]
    }
  ]

如有任何帮助,我们将不胜感激。

谢谢大家,我再次尝试并能够获得正确的架构。正确的 Avro Schema 是-

{
  "name": "modelData",
  "type": "record",
  "namespace": "com.hi.model",
  "fields": [
    {
      "name": "clientName",
      "type": "string"
    },
    {
      "name": "serviceDetailsList",
      "type": {
        "type": "array",
        "items": {
          "name": "serviceDetailsList_record",
          "type": "record",
          "fields": [
            {
              "name": "serviceName",
              "type": "string"
            },
            {
              "name": "enabled",
              "type": "boolean"
            }
          ]
        }
      }
    }
  ]
}