Forum Discussion

CXin's avatar
CXin
Frequent Contributor
14 years ago

Json is not converted to xml

Here is my JSON response, it is not converted into xml.

{"{http://www.ebayclassifiedsgroup.com/schema/ad/v1}ads-search-options": {
"name": "{http://www.ebayclassifiedsgroup.com/schema/ad/v1}ads-search-options",
"value": {
"q": {
"search-param": "optional",
"search-style": "eq",
"since": "1.0",
"deprecated": "false",
"read": "supported",
"write": "unsupported",
"search-response-included": "supported",
"type": "STRING",
"localized-label": "Keyword"
},
"adStatus": {
"supported-value": [
{
"value": "ACTIVE",
"localized-label": "Active"
},
{
"value": "DELAYED",
"localized-label": "Delayed"
},
{
"value": "EXPIRED",
"localized-label": "Expired"
},
{
"value": "DELETED",
"localized-label": "Deleted"
},
{
"value": "PENDING",
"localized-label": "Pending"
}
],
"search-param": "optional",
"search-style": "eq",
"since": "1.0",
"deprecated": "false",
"type": "ENUM"
},
"adType": {
"supported-value": [
{
"value": "OFFERED",
"localized-label": "Offered"
},
{
"value": "WANTED",
"localized-label": "Wanted"
}
],
"search-param": "optional",
"search-style": "eq",
"since": "1.0",
"deprecated": "false",
"type": "ENUM",
"localized-label": "Offer Type"
},
"priceType": {
"supported-value": [
{
"value": "FREE",
"localized-label": "Free"
},
{
"value": "PLEASE_CONTACT",
"localized-label": "Negotiable"
},
{
"value": "SPECIFIED_AMOUNT",
"localized-label": "Amount"
}
],
"search-param": "optional",
"search-style": "eq",
"since": "1.0",
"deprecated": "false",
"type": "ENUM",
"localized-label": "Price"
},
"priceCurrency": {
"search-param": "optional",
"search-style": "eq",
"since": "1.0",
"deprecated": "false",
"type": "STRING"
},
"minPrice": {
"search-param": "optional",
"search-style": "eq",
"since": "1.0",
"deprecated": "false",
"type": "DECIMAL",
"localized-label": "Min Price"
},
"maxPrice": {
"search-param": "optional",
"search-style": "eq",
"since": "1.0",
"deprecated": "false",
"type": "DECIMAL",
"localized-label": "Max Price"
},
"email": {
"search-param": "optional",
"search-style": "eq",
"since": "1.0",
"deprecated": "false",
"type": "STRING"
},
"userId": {
"search-param": "optional",
"search-style": "eq",
"since": "1.0",
"deprecated": "true",
"type": "LONG"
},
"page": {
"search-param": "optional",
"search-style": "eq",
"since": "1.0",
"deprecated": "false",
"type": "LONG",
"localized-label": "Page"
},
"size": {
"search-param": "optional",
"search-style": "eq",
"since": "1.0",
"deprecated": "false",
"type": "LONG"
},
"locationId": {
"search-param": "optional",
"search-style": "eq",
"since": "1.0",
"deprecated": "false",
"localized-label": "Location"
},
"zipcode": {
"search-param": "unsupported",
"since": "1.0",
"deprecated": "false",
"type": "STRING",
"localized-label": "Postcode"
},
"address": {
"search-param": "unsupported",
"since": "1.0",
"deprecated": "false",
"type": "STRING"
},
"distance": {
"search-param": "optional",
"search-style": "eq",
"since": "1.0",
"deprecated": "false",
"type": "LONG",
"localized-label": "Distance"
},
"distanceUnit": {
"supported-value": [ {
"value": "KM",
"localized-label": "Kilometre"
}],
"search-param": "optional",
"search-style": "eq",
"since": "1.0",
"deprecated": "false",
"type": "ENUM"
},
"categoryId": {
"search-param": "optional",
"search-style": "eq",
"since": "1.0",
"deprecated": "false",
"localized-label": "Category"
},
"attributes": {},
"excludeExternalSource": {
"search-param": "optional",
"search-style": "eq",
"since": "1.0",
"deprecated": "false"
},
"latitude": {
"search-param": "unsupported",
"since": "1.5",
"deprecated": "false",
"type": "DECIMAL"
},
"longitude": {
"search-param": "unsupported",
"since": "1.5",
"deprecated": "false",
"type": "DECIMAL"
},
"sortType": {
"supported-value": [],
"search-param": "optional",
"search-style": "eq",
"since": "1.5",
"deprecated": "false",
"type": "ENUM",
"localized-label": "Sort Type"
},
"userIds": {
"search-param": "optional",
"search-style": "in",
"since": "1.5",
"deprecated": "false"
},
"pictureRequired": {
"search-param": "optional",
"search-style": "eq",
"since": "1.6",
"deprecated": "false",
"type": "BOOLEAN"
},
"modAfter": {
"search-param": "optional",
"search-style": "eq",
"since": "1.7",
"deprecated": "false",
"type": "DATETIME"
},
"modBefore": {
"search-param": "optional",
"search-style": "eq",
"since": "1.7",
"deprecated": "false",
"type": "DATETIME"
},
"histograms": {
"value": [],
"supported-value": [
{"value": "CATEGORY"},
{"value": "LOCATION"},
{"value": "ATTRIBUTE"}
],
"search-param": "optional",
"search-style": "in",
"since": "1.7",
"deprecated": "false"
},
"histogramsExpand": {
"value": [],
"supported-value": [
{"value": "CATEGORY"},
{"value": "ATTRIBUTE"}
],
"search-param": "optional",
"search-style": "in",
"since": "1.7",
"deprecated": "false"
},
"version": "1.13",
"locale": "en_AU",
"supported-locales": "en_AU"
},
"scope": "javax.xml.bind.JAXBElement$GlobalScope",
"declaredType": "com.ebay.ecg.api.spec.v1.schema.ad.AdsSearchOptions",
"globalScope": true,
"nil": false,
"typeSubstituted": true
}}
  • M_McDonald's avatar
    M_McDonald
    Super Contributor
    The special characters in the first element name are causing issues. If you change:

    {"{http://www.ebayclassifiedsgroup.com/schema/ad/v1}ads-search-options": {

    to

    {"httpwwwebayclassifiedsgroupcomschemaadv1_ads-search-options": {

    (remove '{', '}', ':' and '/') it seems to parse to XML without a problem.

    <httpwwwebayclassifiedsgroupcomschemaadv1_ads-search-options>
    <declaredType>com.ebay.ecg.api.spec.v1.schema.ad.AdsSearchOptions</declaredType>
    <globalScope>true</globalScope>
    <name>{http://www.ebayclassifiedsgroup.com/schema/ad/v1}ads-search-options</name>
    <nil>false</nil>
    <scope>javax.xml.bind.JAXBElement$GlobalScope</scope>
    <typeSubstituted>true</typeSubstituted>
    <value>
    <adStatus>
    <deprecated>false</deprecated>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.0</since>
    <supported-value>
    <e>
    <localized-label>Active</localized-label>
    <value>ACTIVE</value>
    </e>
    <e>
    <localized-label>Delayed</localized-label>
    <value>DELAYED</value>
    </e>
    <e>
    <localized-label>Expired</localized-label>
    <value>EXPIRED</value>
    </e>
    <e>
    <localized-label>Deleted</localized-label>
    <value>DELETED</value>
    </e>
    <e>
    <localized-label>Pending</localized-label>
    <value>PENDING</value>
    </e>
    </supported-value>
    <type>ENUM</type>
    </adStatus>
    <adType>
    <deprecated>false</deprecated>
    <localized-label>Offer Type</localized-label>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.0</since>
    <supported-value>
    <e>
    <localized-label>Offered</localized-label>
    <value>OFFERED</value>
    </e>
    <e>
    <localized-label>Wanted</localized-label>
    <value>WANTED</value>
    </e>
    </supported-value>
    <type>ENUM</type>
    </adType>
    <address>
    <deprecated>false</deprecated>
    <search-param>unsupported</search-param>
    <since>1.0</since>
    <type>STRING</type>
    </address>
    <attributes/>
    <categoryId>
    <deprecated>false</deprecated>
    <localized-label>Category</localized-label>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.0</since>
    </categoryId>
    <distance>
    <deprecated>false</deprecated>
    <localized-label>Distance</localized-label>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.0</since>
    <type>LONG</type>
    </distance>
    <distanceUnit>
    <deprecated>false</deprecated>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.0</since>
    <supported-value>
    <e>
    <localized-label>Kilometre</localized-label>
    <value>KM</value>
    </e>
    </supported-value>
    <type>ENUM</type>
    </distanceUnit>
    <email>
    <deprecated>false</deprecated>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.0</since>
    <type>STRING</type>
    </email>
    <excludeExternalSource>
    <deprecated>false</deprecated>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.0</since>
    </excludeExternalSource>
    <histograms>
    <deprecated>false</deprecated>
    <search-param>optional</search-param>
    <search-style>in</search-style>
    <since>1.7</since>
    <supported-value>
    <e>
    <value>CATEGORY</value>
    </e>
    <e>
    <value>LOCATION</value>
    </e>
    <e>
    <value>ATTRIBUTE</value>
    </e>
    </supported-value>
    <value/>
    </histograms>
    <histogramsExpand>
    <deprecated>false</deprecated>
    <search-param>optional</search-param>
    <search-style>in</search-style>
    <since>1.7</since>
    <supported-value>
    <e>
    <value>CATEGORY</value>
    </e>
    <e>
    <value>ATTRIBUTE</value>
    </e>
    </supported-value>
    <value/>
    </histogramsExpand>
    <latitude>
    <deprecated>false</deprecated>
    <search-param>unsupported</search-param>
    <since>1.5</since>
    <type>DECIMAL</type>
    </latitude>
    <locale>en_AU</locale>
    <locationId>
    <deprecated>false</deprecated>
    <localized-label>Location</localized-label>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.0</since>
    </locationId>
    <longitude>
    <deprecated>false</deprecated>
    <search-param>unsupported</search-param>
    <since>1.5</since>
    <type>DECIMAL</type>
    </longitude>
    <maxPrice>
    <deprecated>false</deprecated>
    <localized-label>Max Price</localized-label>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.0</since>
    <type>DECIMAL</type>
    </maxPrice>
    <minPrice>
    <deprecated>false</deprecated>
    <localized-label>Min Price</localized-label>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.0</since>
    <type>DECIMAL</type>
    </minPrice>
    <modAfter>
    <deprecated>false</deprecated>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.7</since>
    <type>DATETIME</type>
    </modAfter>
    <modBefore>
    <deprecated>false</deprecated>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.7</since>
    <type>DATETIME</type>
    </modBefore>
    <page>
    <deprecated>false</deprecated>
    <localized-label>Page</localized-label>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.0</since>
    <type>LONG</type>
    </page>
    <pictureRequired>
    <deprecated>false</deprecated>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.6</since>
    <type>BOOLEAN</type>
    </pictureRequired>
    <priceCurrency>
    <deprecated>false</deprecated>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.0</since>
    <type>STRING</type>
    </priceCurrency>
    <priceType>
    <deprecated>false</deprecated>
    <localized-label>Price</localized-label>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.0</since>
    <supported-value>
    <e>
    <localized-label>Free</localized-label>
    <value>FREE</value>
    </e>
    <e>
    <localized-label>Negotiable</localized-label>
    <value>PLEASE_CONTACT</value>
    </e>
    <e>
    <localized-label>Amount</localized-label>
    <value>SPECIFIED_AMOUNT</value>
    </e>
    </supported-value>
    <type>ENUM</type>
    </priceType>
    <q>
    <deprecated>false</deprecated>
    <localized-label>Keyword</localized-label>
    <read>supported</read>
    <search-param>optional</search-param>
    <search-response-included>supported</search-response-included>
    <search-style>eq</search-style>
    <since>1.0</since>
    <type>STRING</type>
    <write>unsupported</write>
    </q>
    <size>
    <deprecated>false</deprecated>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.0</since>
    <type>LONG</type>
    </size>
    <sortType>
    <deprecated>false</deprecated>
    <localized-label>Sort Type</localized-label>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.5</since>
    <supported-value/>
    <type>ENUM</type>
    </sortType>
    <supported-locales>en_AU</supported-locales>
    <userId>
    <deprecated>true</deprecated>
    <search-param>optional</search-param>
    <search-style>eq</search-style>
    <since>1.0</since>
    <type>LONG</type>
    </userId>
    <userIds>
    <deprecated>false</deprecated>
    <search-param>optional</search-param>
    <search-style>in</search-style>
    <since>1.5</since>
    </userIds>
    <version>1.13</version>
    <zipcode>
    <deprecated>false</deprecated>
    <localized-label>Postcode</localized-label>
    <search-param>unsupported</search-param>
    <since>1.0</since>
    <type>STRING</type>
    </zipcode>
    </value>
    </httpwwwebayclassifiedsgroupcomschemaadv1_ads-search-options>
  • Hi,

    thanks for this - I've filed it as a bug in the JSON to XML conversion.

    regards!

    /Ole
    SmartBear Software
  • CXin's avatar
    CXin
    Frequent Contributor
    Thanks for the help, McDonald and Ole.
    I can't ask our developers to change the special chars.
    Please fix it on SoapUI.
  • Hi,

    we hope to have this fixed in the upcoming 4.5 release - sorry for the inconvenience

    regards!

    /Ole
    SmartBear Software