2013-05-30 5 views
9

インターネットで広範な検索を行った結果、PrestashopはJSON形式のデータを返さないことが確認されていますが、XML形式でしか返されません(残念なことにクロスドメインアクセスの問題が発生します)。Prestashop WebサービスがJSONを返す

XML(Prestashopによって返された)をJSONに変換しようとしています。私は、Webサービスから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 Webサービスを使用したことはありませんが、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

FYI、output_formatの値は大文字と小文字が区別されます。だから、それが動作しない場合は、JSONの代わりにJSONを使用することを確認してください。 – Kiddo

-2

Prestashopにはdie(tools :: jsonEncode([Associative Array]))があります。