【问题标题】:parse foursquare json without 3rd party解析没有第三方的foursquare json
【发布时间】:2012-11-06 02:20:49
【问题描述】:

我在 Web 应用程序中使用了foursquare API,并且我调用了foursquare 并且结果停止了,但我无法以我想要的方式解析它。我不想使用第 3 方解析器,因为它们让我彻底困惑。我希望应用程序按距离提醒可点击的场地名称列表,并在点击时将变量分配给该场地的 lat 和 lng。

$(document).ready(function(){
 $.getJSON("https://api.foursquare.com/v2/venues/search?ll=-27.58818,-48.523248&   
   client_id=9&client_secret=9&v=20111107",
    function(data){
//code here
      });
    });

结果如下所示:

    {"meta":
  {"code":200},
 "response":
 {"venues":
 [{"id":"4c158143a1010f47a1364e18",
"name":"Parma Pizza",
 "contact":{"phone":"+554832346363","formattedPhone":"+55 48 3234-6363"},
"location":{"address":"R. Lauro Linhares, 1052",
"lat":-27.588341,
"lng":48.5232834,
 "distance":18,

到目前为止,我尝试了失败的 3rd 方 Jackson,警告名称失败,document.write 失败,以及某种类型的 .$each 移除器也失败了。请帮帮我。

【问题讨论】:

  • 他们以什么方式失败了?您是否首先确认回调正在运行?

标签: javascript json parsing foursquare getjson


【解决方案1】:

jQuery 已经使用$.getJSON 解析您的 JSON 文件。除非您使用的是旧浏览器,否则您不需要 3rd 方 JSON 解析库。 (尽管您应该在代码库中包含 JSON3.js 以防万一有人尝试使用您的网站是在旧版浏览器中。只需包含它即可。除此之外您无需执行任何其他操作。)

传递给回调函数的data 变量是一个JavaScript 对象。然后,您只需执行 data.meta.code 即可获取 code (200) 的值,或执行 data.response[0].name 以返回 Parma Pizza

至于生成您的列表,您将不得不做艰苦的工作。您可以使用$.each 轻松地遍历这些地方:

$.getJSON("https://api.foursquare.com/v2/venues/search?ll=-27.58818,-48.523248&client_id=9&client_secret=9&v=20111107", function(data){
    $.each(data.response, function(index, elm){
        console.log(elm.name);
    });
});

将打印出从您的查询返回的所有场地名称的列表。

【讨论】:

  • 这有帮助!我终于可以使用 alert(data.response.venues[0].name) 让它回显 Parma Pizza 但我无法让列表工作,它没有显示任何内容,当我警告控制台时它只是说未定义。
  • 实际上,我为它们分别分配了一个不同的变量,然后将它们从 ala 列表中呼应出来。但它不会让我投票赞成你的答案。
【解决方案2】:

@塞莱斯特

我认为您可以通过在 tkone 的代码中添加 .venues 来修复它。 至少这对我有用。

$.getJSON("https://api.foursquare.com/v2/venues/search?ll=-27.58818,-48.523248&client_id=9&client_secret=9&v=20111107", function(data){
$.each(data.response.venues, function(index, elm){
    console.log(elm.name);
});

很抱歉没有评论 tkone 的回答,但我没有足够的声誉来评论:/奇怪的系统 ....

【讨论】:

    猜你喜欢
    • 2016-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多