xml - 亚马逊产品广告 API : How to get a JSON response for ItemLookup/Search

标签 xml xslt jsonp amazon

我正在尝试从其 ASIN 获取亚马逊产品的详细信息。产品 API 允许使用 ASIN 执行 Itemlookup,但返回值在 XML 中。

我想从客户端调用 Itemlookup,所以想调用 JSONP,但我找不到。

我在网上找到了一些使用XSLT样式表将XML转换为JSON格式的文章:

(一) https://bitbucket.org/basti/python-amazon-product-api/src/tip/examples/json-results.py

我尝试使用此 python-amazon-product-api 和此示例,但我无法获得 JSON 返回值。

(b) http://www.kokogiak.com/gedankengang/2006/05/consuming-amazons-web-api-directly.html

我尝试发送的请求是:

http://xml-us.amznxslt.com/onca/xml?AWSAccessKeyId=[ACCESS KEY]&AssociateTag=[ASSOCIATE TAG]&ContentType=text%2Fjavascript&IdType=ASIN&ItemId=B008IEGS9W&Operation=ItemLookup&ResponseGroup=Images%2CItemAttributes&Service=AWSECommerceService&Style=http%3A%2F%2Fforums.delphiforums.com%2Fdelphidocsz%2Famazon%2Fjson.xsl&Timestamp=2012-09-04T06%3A40%3A11Z&Signature=AGOqXvVSeMp3YyVkT4mGNXVx0cFGG%2Bh%2FdAebevbbF9o%3D

请帮助使用 Amazon product API 获取 JSON 格式。欢迎提出任何建议。


OP 可以运行此样式表(未使用输入文档)来确定他的 XSLT 版本。

<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:msxsl="urn:schemas-microsoft-com:xslt"
  exclude-result-prefixes="xsl msxsl">
<xsl:output method="html" indent="yes"/>

<xsl:template match="/">
  <html>
    <head><title>About your XSLT Processor</title></head> 
   <body>
     <ul>
       <li>xsl:version=<xsl:value-of select="system-property('xsl:version')" /></li>
       <li>xsl:vendor=<xsl:value-of select="system-property('xsl:vendor')" /></li>
       <li>xsl:vendor-url=<xsl:value-of select="system-property('xsl:vendor-url')" /></li>
       <li>xsl:product-name=<xsl:value-of select="system-property('xsl:product-name')" /></li>
       <li>xsl:product-version=<xsl:value-of select="system-property('xsl:product-version')" /></li>
       <li>xsl:is-schema-aware=<xsl:value-of select="system-property('xsl:is-schema-aware')" /></li>
       <li>xsl:supports-serialization=<xsl:value-of select="system-property('xsl:supports-serialization')" /></li>
       <li>xsl:supports-backwards-compatibility=<xsl:value-of select="system-property('xsl:supports-backwards-compatibility')" /></li>
       <li>msxsl:version=<xsl:value-of select="system-property('msxsl:version')" /></li>
     </ul>  
   </body>  
 </html>  
</xsl:template>

</xsl:stylesheet>

最佳答案

尝试其中任何一个::

  1. Amazon JSON API - 这是一个 ruby​​ 网络服务,用于传递请求并将响应转换为 JSON。
  2. 尝试使用这些 Javascript 函数中的任何一个将您已有的 XML 转换为 JSON:
    1. http://goessner.net/download/prj/jsonxml/
    2. http://davidwalsh.name/convert-xml-json
    3. http://www.fyneworks.com/jquery/xml-to-json/
    4. http://www.thomasfrank.se/xml_to_json.html

我自己试过 thomasfrank。它很简单,效果很好 :)

关于xml - 亚马逊产品广告 API : How to get a JSON response for ItemLookup/Search,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12258139/

相关文章:

java - Java 中的多模式验证

java - 如何从 Sax XmlHandler 输出 CDATA 部分

ruby - OS X 上的 xslt 2.0 和 Ruby

java - XSLT 2.0 - 迭代 Java 对象列表

android - 使用ajax连接到本地服务器时Cordova应用程序超时

javascript - 为什么使用 JSONP 和回调而不是调用者定义的变量名?

android - 如何正确设计/设计 Android 抽屉导航

java - 无法为 GridView 布局设置背景颜色

xml - 通过动态名称引用 XSLT 变量

jquery - JSON跨域请求时停止编码 '?'