【问题标题】:Xpath to JSON - still needs tidyingXpath to JSON - 仍然需要整理
【发布时间】:2014-04-23 15:05:23
【问题描述】:

我正在尝试从 this website. 获取数据表并将其作为 JSON 提供。
我正在使用 Yahoo Pipes/XPath 迈出第一步,所以提前为菜鸟 Qs 道歉。

我有 a pipe,它只使用 XPath 表达式:

//table1/tbody/tr

这给了我以下JSON output(sn-p,大约 30 个项目中的 1 个):

"items": [{
            "td": [{
                "a": {
                    "href": "http:\/\/www.hydro.com.au\/system\/files\/water-storage\/Web_Lakes_AUGUSTA.pdf",
                    "content": "Lake Augusta"
                }
            },
            {
                "p": "2.58"
            },
            {
                "p": "Steady"
            }],
            "description": null,
            "title": null
        },

我最终想要的是一个扁平化的版本,如下所示:

"items": [{
    {
        "href": "http:\/\/www.hydro.com.au\/system\/files\/water-storage\/Web_Lakes_AUGUSTA.pdf",
    },
    {
        "content": "Lake Augusta"
    },
    {
        "p": "2.58"
    },
    {
        "p": "Steady"
    }],
},

有人可以帮助我实现这一目标吗?我应该使用原始 XPath 做更多事情,还是 Pipes 中有一个特定的处理器可以帮助我完成这个?

【问题讨论】:

  • XPath 结果反映了原始文档结构。很难选择一组不完全分离但不反映文档结构(即像您想要的输出)的节点。我建议您提取 XPath 为您提供的 JSON/JS 对象数组,然后在客户端中对其进行按摩,直到它满足您的需要。我相信您也可以在 Pipes 本身中对其进行后处理,但仅使用 XPath 是行不通的。
  • 您可能还想尝试Kimono,他们在网站设计方面领先于 Yahoo Pipes。
  • 为了好玩,这里是你的管道的一个克隆,它向你展示了如何构建你想要的输出:pipes.yahoo.com/pipes/…
  • 哇。和服看起来很棒,你的烟斗就是答案!请把你的 cmets 变成一个答案,这样我就可以给你信用。谢谢!
  • 在 Kimono 中设置工作提要比构建 Yahoo 管道花费的时间更少,但 Pipes 在处理和组合数据方面仍然很多更加灵活和强大,尤其是在不像这个那样直接的情况下。

标签: json yahoo-pipes


【解决方案1】:

无法直接使用 XPath 选择所需的数据结构。

但是,在 Yahoo Pipes 中操作选定的数据并不困难,例如通过将“循环”模块与“项目生成器”模块结合起来。

结果是如下所示的提要:

{
    "count": 43,
    "value": {
        "title": "Hydro Tasmania Lake Levels",
        "description": "Hydro Tasmania Lake Levels\n\nfrom StackOverflow Question http://stackoverflow.com/q/23248288/18771",
        "link": "http://pipes.yahoo.com/pipes/pipe.info?_id=d2fe64963964bf6636b58fb7b9814ef0",
        "pubDate": "Fri, 25 Apr 2014 06:12:35 +0000",
        "generator": "http://pipes.yahoo.com/pipes/",
        "callback": "",
        "items": [
            {
                "title": "Lake Augusta",
                "link": "http://www.hydro.com.au/system/files/water-storage/Web_Lakes_AUGUSTA.pdf",
                "meters": "2.58",
                "comment": "Steady",
                "description": null
            },
            ... more ...
        ]
    }
}

【讨论】:

    猜你喜欢
    • 2015-09-06
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 2012-04-15
    • 2018-07-25
    • 2021-01-28
    • 1970-01-01
    • 2017-04-14
    相关资源
    最近更新 更多