【问题标题】:Return list of values from getJSON call从 getJSON 调用返回值列表
【发布时间】:2016-08-12 16:11:42
【问题描述】:

我需要检查一个 json 文件,看看我的页面上是否有匹配项。所述 json 文件很大,包含大量不同的值和对象。看起来像这样:

name: john doe,
id: 5891,
description: product,

name: jane doe,
id: 5892,
description: product,

我只关心“id”对象及其值,不想浏览整个文件以满足我的需要。

有没有办法用 jquery 做 getJson:

$.getJSON('https://api.mysite.com&callback=searchCallback', function(data) {

});

只返回“id”中的值,然后检查是否匹配?只是寻找“是的,它在那里”或“不,它不是”......

【问题讨论】:

  • 您无法使用 ajax 获取部分内容,并且您无法在不获取所有内容的情况下检查是否存在某些内容。为什么不创建一个服务器端脚本来满足您的需求,然后使用 ajax 调用该脚本。
  • 要么你的服务器需要这样做,要么你需要循环它。
  • 你应该在服务器端处理它。
  • 无权触发服务器端脚本 :) 受限于前端 CMS,因此它必须是客户端...
  • 这意味着您必须完全下载大文件并在客户端对其进行过滤,期间。

标签: javascript jquery arrays json getjson


【解决方案1】:

您无法操纵服务器响应。那将是黑客的天堂。服务器应该这样做。


这是你可以做的。

使用Array.prototype.any()

var needle = 707; //desired id
var result = $.getJSON('https://api.mysite.com&callback=searchCallback', function(data) {
    var found = data.any(function(element, index, array){
        return element.id === needle;
    });
});

【讨论】:

    猜你喜欢
    • 2011-05-11
    • 2011-10-18
    • 2021-12-20
    • 1970-01-01
    • 2010-11-16
    • 2011-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多