interface Notifications {
type: NotificationType;
frequency: FrequencyType;
}
enum NotificationType {
SMS = 'SMS',
EMAIL = 'EMAIL'
}
enum FrequencyType {
INSTANT = 'INSTANT',
DAILY = 'DAILY',
WEEKLY = 'WEEKLY',
NEVER = 'NEVER'
}
if (body && body.frequency in FrequencyType && body.type in NotificationType) {
//do stuff
}
var NotificationType;
(function(NotificationType2) {
NotificationType2["SMS"] = "SMS";
NotificationType2["EMAIL"] = "EMAIL";
})(NotificationType || (NotificationType = {}));
var FrequencyType;
(function(FrequencyType2) {
FrequencyType2["INSTANT"] = "INSTANT";
FrequencyType2["DAILY"] = "DAILY";
FrequencyType2["WEEKLY"] = "WEEKLY";
FrequencyType2["NEVER"] = "NEVER";
})(FrequencyType || (FrequencyType = {}));
TS码
enum NotificationType {
SMS = 'SMS',
EMAIL = 'EMAIL'
}
enum FrequencyType {
INSTANT = 'INSTANT',
DAILY = 'DAILY',
WEEKLY = 'WEEKLY',
NEVER = 'NEVER'
}
type BodyType = {
frequency: NotificationType;
type: NotificationType
}
const validate = (body:BodyType):boolean => !!body && body.frequency in FrequencyType && body.type in NotificationType;
编译完TS后,验证代码应该可以正常工作
validate({ frequency: 'INSTANT', type: 'SMS' }); // true
validate({}); // false
validate({ frequency: 'INSTANTS', type: 'SMS' }); // false
也许你需要或条件。
!!body && (body.frequency in FrequencyType || body.type in NotificationType)
问题内容: 我正在使用org.json库将Object转换为Json格式。请检查以下代码片段。 它显示了这样的输出: 它显示为空白并添加了卷曲基数。这是什么意思?有人遇到过这个问题吗? 问题答案: 首先,我强烈建议您不要使用此库(org.json),这是一个非常古老且不受支持的库(据我所知)。我建议杰克逊或格森。 但是,如果您确实需要JSONObject,则可以将getter添加到枚举中: 序列化
我正在使用Jackson的ObjectMapper直接从收到的构建我的。为此,我用注释来注释我的字段(在本例中,字段是抽象方法,因为我使用AutoValue来简化样板文件)。 现在,我的POJO中的一些字段是,其中JSON显然包含一个常规字符串。我想以某种方式验证,在构建对象之前,这些JSON字段确实提交给给定的枚举类型。 下面是一个例子。 此属性的类型为,对应的JSON字段为ie.“Messag
使用jackson2.9.8对枚举反序列化有问题。Gson也可以正常工作。模型是从swagger api定义自动生成的 使用Gson,效果很好。对于杰克逊来说,它不适用于011、013和019,但适用于其他值 Swagger api定义的片段 服务代码: 类型: 字符串枚举: - “001” - “002” - “003” - “004” - “005” - “007” - “008” - “00
问题内容: 如何枚举JavaScript对象的属性? 我实际上想列出所有已定义的变量及其值,但是我了解到定义一个变量实际上会创建window对象的属性。 问题答案: 很简单: 现在,您将无法以这种方式获取私有变量,因为它们不可用。 编辑:是正确的,除非您使用该方法,否则您将获得继承的属性- 但是,我不知道为什么任何熟悉面向对象编程的人都期望得到更少的东西!通常,提起此问题的人会受到道格拉斯·克罗克
问题内容: 这是我第一次在laravel中使用验证。我正在尝试对以下json对象应用验证规则。json对象名称是有效负载,下面给出示例。 验证码如下所示,出于测试目的,我将数字验证为数字。当我执行以下代码时,上面的json对象被批准并插入到我的数据库中。相反,它应该给我一个例外,因为我正在传递带有字母数字值的名称,是我做错了什么: 问题答案: 请这样 验证中的字段必须是数字,并且必须具有确切的值长
问题内容: 给定这样的结构: 是否可以将其映射到: 这样,您最终获得的实例的属性分别设置为和? 问题答案: 我坚信将您的POJO与外部化分开。将您的JSON读取到Map中,然后像这样构建您的Container / ScoreKeeper对象(对于任何错别字都为apols):