【问题标题】:Retrieve data from JSON array从 JSON 数组中检索数据
【发布时间】:2015-02-10 20:37:55
【问题描述】:

我正在尝试从 bit.ly API 返回的 json 数组中获取值

回复是:

{"status_code": 200, "data": {"bundle": {"og_image": null, "bundle_owner": "user", "created_ts": 1423596727, "description": "", "links": [{"updated_by": null, "title": "", "display_order": 0, "lm": 1423597992.378417, "ts": 1423597992.378417, "comments": [], "aggregate_link": "http://bit.ly/LmvF", "long_url": "http://google.com/", "link": "http://bit.ly/1AUeg5k", "preview": 1, "added_by": "rentthesun"}], "title": "Barcelona 226", "collab": [], "private": true, "inv_collab": [], "last_modified_ts": 1423597992, "bundle_link": "http://bitly.com/bundles/myuser/2", "preview": true}}, "status_txt": "OK"}

我想获取“链接”的值

我的代码:

$.getJSON("https://api-ssl.bitly.com/v3/bundle/link_add?", {
     "access_token": "MY_TOKEN",
      "bundle_link": "https://bitly.com/bundles/user/2",
      "link": raw_url,
 }, function(response) {
       $("#link-container").show("fast");
       link = "<a href=\"" + response.data['bundle']['links'].link[0] + "\" target=\"_blank\">" + response['data']['bundle']['links'].link[0] + "</a>";
       $("#link").html(link);
 });

我怎样才能得到缩短的链接?

【问题讨论】:

  • 如何访问任何 Javascript 数组/对象成员?这并不特别,因为它是 JSON

标签: javascript arrays json bit.ly


【解决方案1】:
link = "<a href=\"" + response.data['bundle']['links'].link[0] + "\" target=\"_blank\">" + response['data']['bundle']['links'].link[0] + "</a>";

我想你的意思是 response['data']['bundle']['links'][0].link。这将选择第一个元素的链接,而您的原始代码正在寻找 link 数组的第一个元素。

如果你总是需要它作为最后一个链接,最简单的方法是保存 links 数组,并获取它的最后一个元素:

links = response.data['bundle']['links'];
link = "<a href=\"" + links[links.length-1].link + "\" target=\"_blank\">" + links[links.length-1].link + "</a>";

【讨论】:

  • 这适用于第一次单击按钮但不能再次单击,因为它变成了链接 [1]。我怎样才能让它获得最新的?
  • @JoshFradley 已更新。
猜你喜欢
  • 2019-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多