为什么 Cepheus 不向 Orion 发送不带引号的整数?

Why cepheus don't send int without quotes to orion?

在这个问题中,我遇到了一个问题,猎户座条件不满足,但是通过删除特殊值上的引号解决了这个问题

新问题是,当我使用计算 mFlag int 属性的 cep 处理事件时,它会将其发送到 orion,但显然它是用引号发送的(与之前发布的相关问题中描述的问题相同),因为orion 实体已更改但未触发通知。

Cepheus CEP 配置是这样的:

"out":[
    {
      "id":"algo",
      "type":"Event",
      "brokers":[
        {
          "url":"http://localhost:1026" //orion
        }
      ],
      "attributes":[
         { "name":"IdEvent", "type":"int" },
         { "name":"mFlag", "type":"int" }
      ]
    }
  ],

这是 Cepheus CEP 的问题还是 Orion 错误,无法解释条件中的属性类型?

您似乎遇到了 Cepheus 和 Orion 之间的 NGSIv1 协议实现不兼容问题。

NGSIv1 已针对其 XML 格式(作为 OMA 标准)进行了明确定义,但未针对其 JSON 版本进行定义。 Cepheus 团队的 JSON 实现基于定义 NGSIv1 JSON 格式的唯一现有文档之一:API Walkthough of the Orion documentation.

在本文档中,所有值都作为字符串进行交换(类似于标准的 XML 格式)。因此,Cepheus 使用字符串而不考虑值的类型。

如果我们决定对值使用 JSON 字符串以外的其他表示形式,我们将需要一个文档(NGSIv1 JSON 的正确规范!)定义可以表示哪些类型作为一个 JSON 数字。