【问题标题】:Problem with Google AJAX Search API RESTful interfaceGoogle AJAX 搜索 API RESTful 接口的问题
【发布时间】:2010-05-04 17:22:46
【问题描述】:

当我发送以下查询时

http://ajax.googleapis.com/ajax/services/search/local?v=1.0&q=coffee%20New%20York%20NY

使用c#WebClient.DownloadString函数或普通网页浏览器 我得到的 JSON 数据与使用 JavaScript 和相同查询的数据不同 Google AJAX 搜索 API。

从 REST 服务我得到以下 url 字段

http://www.google.com/maps/place?source003duds0026q003dcoffee0026cid003d13245583795745066822

但是从 JavaScript 查询我得到了这个 url 字段

http://www.google.com/maps/place?source=uds&q=coffee&cid=13245583795745066822

REST 服务答案的问题在于它给出的 url 转到带有错误消息“我们目前不支持该位置”的网页。

我做错了什么?

【问题讨论】:

    标签: ajax api search rest


    【解决方案1】:

    您似乎从 REST 请求中错误地解码了 URI,或者 Google 错误地结束了它。 = 被发送或解析为003d& 被发送或解析为0026

    编辑:在尝试该链接后,我看到他们以 JSON 格式返回链接,并使用 '=' 和 '&' 编码,JavaScript 必须自动为您替换这些字符。您可以对“003d”和“0026”进行简单的字符串替换 - 尽管我不确定这是否会涵盖所有用例。

    【讨论】:

      【解决方案2】:

      我通过使用 Json.NET 库 http://json.codeplex.com/ 解析 JSON 数据解决了这个问题

      【讨论】:

        猜你喜欢
        • 2011-05-03
        • 2018-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-16
        • 2013-11-30
        • 1970-01-01
        相关资源
        最近更新 更多