lambda python中的JSON模式验证程序

2024-04-18 21:59:56 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的AWSAPI端点中,我将接收一些JSON数据,我需要使用python根据lambda函数中的模式对它们进行验证

数据看起来有点像这样:

{
  "metadata": [
    {
      "fixedkey1": 1,
      "fixedkey2": 2
    }
  ],
  "UNIX_TIMESTAMP": [
    {
      "ONE_OUT_OF_10_PREDEFINED_VALUE": "21.5"
    },
    {
      "ONE_OUT_OF_10_PREDEFINED_VALUE": "5"
    }
  ],
  "ANOTHER_UNIX_TIMESTAMP": [
    {
      "ONE_OUT_OF_10_PREDEFINED_VALUE": "10"
    }
  ]
}

我的问题是,如何在模式中定义UNIX时间戳(对象中可能有很多时间戳)

另外,我如何检查预定义值键中的一出键是否在预定义列表中(例如TE,RI,KH等中的一个)


Tags: of数据lambda函数jsonvalue时间模式
2条回答
  1. 我会用正则表达式

RobertL为Unix时间戳提供了thisregex模式

  1. 使用inpython关键字

您可以使用format关键字验证时间戳(只需确保您的特定实现支持格式验证并已启用它){"format": "datetime"}。您可以使用enum检查值是否在显式可能性范围内

具体来说,对于属性名称,请使用propertyNames关键字(用于验证属性字符串本身):

{
  "type": "object",
  "propertyNames": { "format": "datetime" },
  "additionalProperties": {
    .. schema for validating the value of the properties ...
  }
}

{
  "type": "object",
  "propertyNames": { "enum": [ "TE", "RI", "KH" ] },
  "additionalProperties": {
    .. schema for validating the value of the properties ...
  }
}

相关问题 更多 >