需要帮助让Zapier脚本示例在JSFiddle中工作

时间:2015-01-07 17:47:24

标签: javascript jquery xml json underscore.js

Zapier有一种脚本语言,但没有办法真正实时测试。所以我想将他们的例子用于我自己的连接/数据。

我有一个使用XML作为API输出的应用程序,Zapier需要JSON才能运行。所以它需要我使用下面的链接从XML转换为JSON。

以下是Zapier将XML转换为JSON的脚本示例的链接:

Zapier - MadMimi XML to JSON

如何在JSFiddle中使用它?我想把它放到JSFiddle中的原因是我可以操作我的XML输出。

我的XML输出如下所示:

XML Output on PasteBin

1 个答案:

答案 0 :(得分:2)

Brian,这是Zapier的开发人员之一。

我为你准备了这个JSFiddle示例:http://jsfiddle.net/5t2pfpk4/

Zap = {
    audience_list_post_poll: function(bundle) {
        // use the provided dom methods with a familiar jquery interface
        xmlElements = $($.parseXML(bundle.response.content)).find('list');
        // return a list of objects that are json serializable 
        return _.map(xmlElements, function(listElement) {
            listElement = $(listElement);
            // pull off each attribute manually, place into object
            return {
                id:                 listElement.attr('id'),
                subscriber_count:   listElement.attr('subscriber_count'),
                display_name:       listElement.attr('display_name'),
                name:               listElement.attr('name'),
            };
        });
    },
};

// Copy me from the bundle log
var bundle = {
    response: {
        content: '<YOUR_XML_HERE><list></list></YOUR_XML_HERE>'
    }
};

results = Zap.audience_list_post_poll(bundle);
console.log(results);

步骤:

  1. 创建一个新示例并将JQuery lib设置为1.9
  2. 为下划线添加外部来源,http://underscorejs.org/underscore-min.js
  3. 将上面的代码打入JS部分
  4. 从我们的Bundle Log复制并粘贴一个真正的包(或者你可以放入你想要的XML)
  5. 调整你心中的内容
  6. 完成后,您可以将其放回应用程序中。

    P.S。我们知道实时编辑现在有点痛苦,并且有一些想法可以在将来的版本中对其进行改进。