我正在构建向其发送json请求的api,如下所示:
{
"type":"string",
"code": 101
}
我正在使用选择路由器,并且正在根据代码路由消息。
即如果代码不是101和100,那么将在什么时候执行条件
当Expression为-#[json:code != 101 && json:code != 100]
时
但是即使代码为103,上述运算也返回true。
答案 0 :(得分:2)
我假设您的注释“代码用双引号引起来”意味着有效载荷是这样的:
{
"type": "string",
"code": "100"
}
如果是这样,我建议您将其转换为Java并从那里开始工作。如果代码是字符串,则需要将其记为100 != '100'
:
<json:json-to-object-transformer returnClass="java.util.Map" doc:name="JSON to Object"/>
<choice doc:name="Choice - Code?">
<when expression="#[payload.code != '101' && payload.code != '100']">
<logger level="INFO" doc:name="Logger - Do this"/>
</when>
<otherwise>
<logger level="INFO" doc:name="Logger - Do that"/>
</otherwise>
</choice>
答案 1 :(得分:0)
在使用JSON有效负载之前,先使用Json到Object转换器
xml配置代码,
studentID subjectID subjectMark subjectWeight Rank overallScore classID
1 111 100 0.4 3 40 1
1 222 0 0.6 3 40 1
2 111 90 0.4 1 90 1
2 222 90 0.6 1 90 1
3 111 0 0.4 2 60 1
3 222 100 0.6 2 60 1
4 444 95 0.4 3 38 2
4 555 0 0.6 3 38 2
5 444 90 0.4 1 90 2
5 555 90 0.6 1 90 2
6 444 0 0.4 2 57 2
6 555 95 0.6 2 57 2