BeautifulWorld
BeautifulWorld

Reputation: 704

how to access json data mule esb

i want to access json data generated from the sync flow into an async flow. I am getting json data from sync flow correctly and i want to fetch certain attribute value from that my json data is as follows :

{"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]}

I want to access to_user attribute from this json format. I have tried using #[json:to_user] but it simply prints it as a string and doesnt return any value. Please help. Thanks in advance.

Upvotes: 4

Views: 10772

Answers (2)

Anirban Sen Chowdhary
Anirban Sen Chowdhary

Reputation: 8311

JsonPath expression are depreciated for now and you will even not get enough document on it for doing ..
So, currently you need to use either :- <json:json-to-object-transformer returnClass="java.lang.Object" doc:name="JSON to Object" />
or <json:json-to-object-transformer returnClass="java.util.HashMap" doc:name="JSON to Object" />
or even <json:json-to-object-transformer returnClass="java.util.List" doc:name="JSON to Object" /> to extract data from JSON depending on the JSON data

Upvotes: 3

Seba
Seba

Reputation: 2319

The right expression based on your sample JSON is:

#[json:data[0]/to_user]

Upvotes: 16

Related Questions