2010-05-05 7 views
0

в моем проекте я хочу использовать Джейсон разбор моего запроса образца мыла и ответ здесь ниже, пожалуйста, руководство меня, как я могу это сделатьJSON синтаксического анализ с использованием запроса SOAP и ответа

// soap request // 

<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns9093="urn:outmarket"><SOAP-ENV:Body><ns9093:doStartup xmlns:ns9093="urn:outmarket"><username xsi:type="xsd:string">guest</username><password xsi:type="xsd:string">guest</password></ns9093:doStartup></SOAP-ENV:Body></SOAP-ENV:Envelope> 


// soap response // 

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:doStartupResponse xmlns:ns1="urn:outmarket"><return xsi:type="xsd:xml"><isvaliduser>1</isvaliduser><userid>19</userid><cansubmitphoto>0</cansubmitphoto><cansubmitcomment>0</cansubmitcomment><cansubmitrating>0</cansubmitrating><cansubmitmarket>0</cansubmitmarket><cansubmitstallholder>0</cansubmitstallholder><databaseid>1</databaseid><markets><markettype>1</markettype><marketid>3</marketid><marketname><![CDATA[Bairnsdale Farmers Market]]></marketname><ratingname><![CDATA[Market in general]]></ratingname><good>0</good><neutral>0</neutral><bad>0</bad></markets><markets><markettype>0</markettype><marketid>3</marketid><marketname><![CDATA[Bairnsdale Farmers Market]]></marketname><ratingname><![CDATA[Market in general]]></ratingname><good>25</good><neutral>0</neutral><bad>18</bad></markets><markets><markettype>0</markettype><marketid>5</marketid><marketname><![CDATA[Bendigo Farmers' Market]]></marketname><ratingname>` 

ответ

2

Отклик мыл не в формате JSON формат, поэтому вы не можете использовать JSON для анализа данных. Вместо этого вам нужно либо изменить ответ на формат JSON, либо использовать полноценный XML-парсер.

+0

Мне не нравятся такие ответы, так как нет абсолютно никакой причины, чтобы ответ SOAP не мог анализироваться в JSON. Например, при создании общего обработчика веб-сервисов может оказаться полезным иметь парсер JSON. –

+0

На самом деле это не делает больше JSON, нравится ли вам ответ или нет. Запустите ответ выше через jsonlint.org и посмотрите, действительно ли синтаксис SOAP JSON? –

+0

Я не говорил, что это было - совсем нет. Я использую JSON на ежедневной основе, и мне нравится JSON.NET, который способен преобразовывать объект в JSON-представление этого объекта. В таких случаях, как общий обработчик SOAP, вы можете использовать утиную печать с JSON для подключения значений без –

0

Начало здесь:

json-framework.

Тогда здесь:

TouchXML

и здесь:

204465.

+0

Не помогает, если ответ не JSON ... – Jasarien

+0

Обратите внимание на ссылки на TouchXML и на вопрос о обработке SOAP на iPhone. Возможно, ответ был утончен? –

Смежные вопросы