0

以下の JSON のユーザー名を Mule ESB 3.8.3 の flowVars と比較する必要があります。

{"id":"users_0001","username":"0001","firstName":"AB","lastName":"C","email":"abc@abc.com","enabled":true}

選択演算子でこの式を使用する

<choice doc:name="Choice">
    <when expression="#[json:[0]/username != flowVars.username]">
        <flow-ref name="put account" doc:name="put account"/>
    </when>
    <otherwise>
        <flow-ref name="do nothing" doc:name="do nothing"/>
    </otherwise>
 </choice>

デバッグ中に、json:[0]/username と flowVars.username の両方が同じ値を返していることがわかりますが、両方を比較すると常に false が返されるのはなぜですか?

それらを評価した結果がこちら

flowVars.username == "0001", returns true
flowVars.username == '0001', returns true
flowVars.username == 0001, returns true
json:[0]/username = 0001, returns true
json:[0]/username = "0001", returns false
json:[0]/username = '0001', returns false
json:[0]/username != flowVars.username, returns true
json:[0]/username = flowVars.username, returns false
4

1 に答える 1