WSO2-ESB500/property mediator xpath json

WSO2-ESB500/property mediator xpath json,wso2,Wso2,在我的序列中有一个属性中介“customerData”,它至少包含以下信息: { "key1": "value1", "key2": "value2", ... } 见日志: DEBUG {org.apache.synapse.mediators.builtin.PropertyMediator} - Setting property : customerData at scope : defaul

在我的序列中有一个属性中介“customerData”,它至少包含以下信息:

{
  "key1": "value1",
  "key2": "value2", 
  ...
}
见日志:

DEBUG {org.apache.synapse.mediators.builtin.PropertyMediator} -  Setting property : customerData at scope : default to : 
{
    "key1":"value1",
    "key2":"value2",
    ...
} 
(i.e. result of expression : XX) {org.apache.synapse.mediators.builtin.PropertyMediator}
如何访问每个键的获取值

我首先尝试记录它们,但无法将这些属性解析为有效的json属性

尝试使用Those语法:

  • $ctx:customerData//key1/text()
  • json eval(customerData.key1)
  • json eval(获取属性('customerData').key1)
  • //键1/text()

非常感谢。

据我所知,不可能在json计算中引用属性。 您可以使用payloadFactory中介器[1]将“customerData”属性设置为当前消息上下文,然后使用jsonpath检索数据

例如:

<payloadFactory media-type="json">
    <format>
    $1
    </format>
    <args>      
        <arg evaluator="xml" expression="$ctx:customerData")/>
    </args>
</payloadFactory>

$1


[2]

据我所知,不可能在json计算中引用属性。 您可以使用payloadFactory中介器[1]将“customerData”属性设置为当前消息上下文,然后使用jsonpath检索数据

例如:

<payloadFactory media-type="json">
    <format>
    $1
    </format>
    <args>      
        <arg evaluator="xml" expression="$ctx:customerData")/>
    </args>
</payloadFactory>

$1

[2]