Hi ,
My Question is while printing //jsonObject I am able to print enriched
value tag "Value" as well.
But while printing $ "value" element is missing . While both logs are
printed at same location in flow.
Log print of *//jsonObjec*t after enrichment:
<jsonObject>
<a>d8ccf265-6651-468f-8d1f-d935c3c7d857</a>
<b>57</b>
*<Value>PartyId</Value>*
</jsonObject>
Log print of* json-eval($) *at same place after enrichment : *Value tag
missing*
{
"a": "d8ccf265-6651-468f-8d1f-d935c3c7d857",
"b": "57"
}
My Question is *not *why we are printing xml for //jsonObject.
Please guide.
I think *$* and *//jsonObject *or *$body* are representation of same object
just in different formats, at any point in flow.
Then why //jsonOject and $ are printing different jsons at same location in
API.
Thanks,
Aditya
On Fri, Jan 19, 2018 at 9:35 AM, Senduran Balasubramaniyam <
[email protected]> wrote:
> Hi Aditya,
>
> //jsonObject is an XPATH expression. When you apply an XPATH evaluation on
> a JSON, ESB / EI internally convert the JSON to XML, that's why you are
> seeing XML for //jsonObject xpath evaluation.
> Since you are sending a JSON payload it is good to use $ (which is a JSON
> path)
>
> Regards
> Senduran
>
> On Fri, Jan 19, 2018 at 3:28 AM, aditya shivankar <
> [email protected]> wrote:
>
>> Respected Sir,
>>
>> //jsonOject and $ are printing different jsons at same location in API.
>>
>> Are not both suppose to have latest json payload,
>>
>> //jsonObject - latest json payload in xml format
>>
>> $ - latest json payload in json format ?
>>
>> Input json:
>>
>> {
>> "token": "d8ccf265-6651-468f-8d1f-d935c3c7d857",
>> "partyId": "2920394"
>>
>>
>> }
>>
>> Log print of //jsonObject after enrichment:
>>
>> <jsonObject>
>> <a>d8ccf265-6651-468f-8d1f-d935c3c7d857</a>
>> <b>57</b>
>> <Value>PartyId</Value>
>> </jsonObject>
>>
>> Log print of json-eval($) at same place after enrichment : Value tag
>> missing
>>
>> {
>> "a": "d8ccf265-6651-468f-8d1f-d935c3c7d857",
>> "b": "57"
>>
>> }
>>
>>
>> Please find attached Rest api "sample.xml"
>>
>>
>> I am facing this issue , when I have to assign current json payload, to
>> one element of new json I created in payload factory.
>>
>> Inside payloadFactory I defined something like this:
>> {
>> "a" : $1 ,
>> "b":"thampi"
>> }
>>
>> In args,
>>
>> Type :Expression , Value:$ , evaluator: json
>>
>> But it is assigning the payload which was present before enrichment.which
>> is wrong .
>>
>> Please guide.
>>
>>
>>
>> .
>>
>> [image: Inline image 2]
>>
>>
>> Thanks,
>> Aditya
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> *Senduran *
> Senior Software Engineer,
> WSO2, Inc.; http://wso2.com/ <http://wso2.com/>
> Mobile: +94 77 952 6548
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev