Hi Aditya,
You can have [] with one json element using PayloadFactory mediator. I
tried below instead of enrich mediator and it worked for both single
element and multiple elements.
<payloadFactory media-type="json">
<format>{"id" : $1, "parts" : $2, "make" : "Tamsung"}</format>
<args>
<arg evaluator="json" expression="$.id"></arg>
<arg evaluator="json" expression="$.parts"></arg>
</args>
</payloadFactory>
Thanks
Sudharma
On Wed, Oct 25, 2017 at 12:32 PM, Manorama Perera <[email protected]> wrote:
> Hi Aditya,
>
> In order to preserve the double quotations around the numbers, you can
> configure the below property in <ESB_HOME>/repository/conf/
> synapse.properties
>
> synapse.commons.json.output.autoPrimitive=false
>
> Thanks,
> Manorama
>
> On Wed, Oct 25, 2017 at 11:31 AM, aditya shivankar <
> [email protected]> wrote:
>
>> Below is the sample service I have created to Highlight the issues I am
>> facing in my project(where the request and response are very big and these
>> issues are repeating at many places).
>>
>> Request :
>> {
>> "id" : "3",
>> "parts" : ["Screen"]
>> }
>>
>> Actual Response :
>> {
>> "id": 3,
>> "parts": "Screen",
>> "make": "Tamsung"
>> }
>>
>> Desired Response :
>>
>> {
>> "id": "3",
>> "parts": ["Screen"],
>> "make": "Tamsung"
>> }
>>
>> ------------------------------------------------------------
>> -------------------------------------------------------
>> Issues :
>>
>> 1. "parts": "Screen",
>>
>> should have been like below
>>
>> "parts": ["Screen"],
>>
>> i.e. it does not remain array anymore. I understand the array
>> consist only one element. But the third party system to which the output of
>> this service is sent as input(request) expects the element as array. So I
>> need it to be as array.
>>
>> 2. "id": 3,
>>
>> should have been like below
>> "id": "3",
>> i.e. the string should have been kept as string.
>>
>>
>> ------------------------------------------------------------
>> -------------------------------------------------------
>> arrayTest.xml :
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <api context="/arrayTest" name="arrayTest" xmlns="http://ws.apache.org/ns
>> /synapse">
>> <resource methods="POST GET">
>> <inSequence>
>>
>> <enrich>
>> <source clone="true" type="inline">
>> <make xmlns="">Tamsung</make>
>> </source>
>> <target action="child" xpath="//jsonObject"/>
>> </enrich>
>> <enrich>
>> <source clone="true" xpath="//jsonObject"/>
>> <target type="body"/>
>> </enrich>
>>
>> <respond/>
>> </inSequence>
>> <outSequence/>
>> <faultSequence/>
>> </resource>
>> </api>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Manorama Perera
> Software Engineer
> WSO2, Inc.; http://wso2.com/
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>
--
Sudharma Subasinghe,
Software Engineer,
WSO2 Inc.
Email: [email protected] <[email protected]>
Mobile : +94 710 565 157 <%2B94%20718%20210%20200>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev