2012-12-04 72 views
4

我想要將從同步流生成的json數據存取到異步流程中。 我正在從同步JSON數據正確傳輸,我想從我的JSON數據是取一定的屬性值如下:如何訪問json數據mule esb

{"data" : [{"in_timestamp":"2012-12-04","message":"hello","out_timestamp":null,"from_user":"user2","ID":43,"to_user":"user1"}]} and to user is #[json:to_user]} 

我想從這個JSON格式訪問to_user屬性。 我曾嘗試使用#[json:to_user],但它只是將其打印爲一個字符串並且不返回任何值。 請幫忙。提前致謝。

回答

15

根據您的樣品JSON正確的表達是:

#[json:data[0]/to_user] 
+0

感謝@seba數據......你讓我很快樂:) – Shruti

+3

該表示法的文檔在哪裏?謝謝 – Rondo

+0

謝謝doc。參考:https://docs.mulesoft.com/mule-user-guide/v/3.6/json-module-reference – JRichardsz

2

JsonPath表達的折舊年限爲現在和你甚至不會得到它足夠的文件做..
所以,目前需要使用或者: - <json:json-to-object-transformer returnClass="java.lang.Object" doc:name="JSON to Object" />
<json:json-to-object-transformer returnClass="java.util.HashMap" doc:name="JSON to Object" />
甚至<json:json-to-object-transformer returnClass="java.util.List" doc:name="JSON to Object" />從中提取JSON取決於JSON數據

+0

你可以給它MuleSoft參考文檔,它說,jsonpath表達式被棄用?我相信只有表達式解析器已被棄用。 – bekur