2013-05-30 3 views
9

인터넷을 통해 광범위하게 검색 한 후 Prestashop이 JSON 형식의 데이터를 반환하지 않는다고 확신하지만 XML 형식으로 만 반환됩니다 (불행히도 크로스 도메인 액세스 문제가 발생합니다).JSON을 반환하는 Prestashop 웹 서비스

이제 XML (Prestashop에서 반환)을 JSON으로 변환하려고합니다. 웹 서비스에서 XML을 가져와 JSON을 다시 보낼 수있는 PHP 코드를 작성하려고합니다. 이 목적을 위해 나는 많은 자습서를 시도했지만 헛된. 변환 된 JSON에는 값이 없으므로 쓸모가 없습니다. 시도한 방법은 다음과 같습니다.

http://www.sitepoint.com/php-xml-to-json-proxy/
PHP convert XML to JSON

XML은 변환 :

<name> 
<language id="1" xlink:href="http://localhost/prestashop/api/languages/1"> 
<![CDATA[ iPod Nano ]]> 
</language> 
</name> 

반환 JSON을 :

"name":{"language":{"@attributes":{"id":"1"}}} 

나는이 점에서 도움을 바랍니다. 고맙습니다.

+2

Prestashop 웹 서비스를 사용한 적은 한번도 없었지만 Prestashop이 XML을 만들고 필요한 json을 만드는 코드로 바꾸는 것이 더 쉽습니다. 이것은 단지 생각 일뿐입니다. – romainberger

답변

30

나는이 과거 지원에 대한 모르겠지만 ... PrestaShop 버전 (현재 v1.6.0.9)의 최신 버전에서

, 당신은에 의한 WebService에의 API 요청에서 JSON 응답을 얻을 수 있습니다 요청 쿼리 문자열에 output_format=JSON을 추가하십시오.

예. http://example.prestashop.com/api/products?output_format=JSON

+1

1.7.2에서 여전히 작동하지만이 대답을 받아 들여야합니다. – mikiqex

+0

참고로, output_format 값은 대소 문자를 구분합니다. 따라서 작동하지 않는다면 json 대신 JSON을 사용해야합니다. – Kiddo

-2

Prestashop에는 ajax를 반환하기 위해 Tools :: jsonEncode ([Associative Array])가 죽거나 non-AJax 반환을 위해 die가 제거되었습니다.

관련 문제