【问题标题】:jQuery getJSON print array where name is stringjQuery getJSON 打印数组,其中名称为字符串
【发布时间】:2016-03-09 14:20:30
【问题描述】:

我有一些使用 php 和 mysql 的好习惯,现在开始使用 JSON。

我制作了一个简单的 json 索引,其中包含文件夹的路径以及其中的项目:

{ "foldery" : [
    {
      "foName": "website/img/bg",
      "files" : [
        "website/img/bg/bg1.jpeg",
        "website/img/bg/bg2.jpg",
        "website/img/bg/bg3.jpg",
        "website/img/bg/bg4.jpeg"
      ]
    },
    {
      "foName": "website/img/post1",
      "files" : [
        "website/img/post1/a.jpeg",
        "website/img/post1/b.jpg",
        "website/img/post1/c.jpeg",
        "website/img/post1/d.jpg"
      ]
    }
  ]
}

现在这是我的 jquery,现在返回一大堆数据,包括有关内部内容的信息:

  $.getJSON("nameindex.json", function(data) {
      console.log(data);
  });

我想要它做的事情,在 mySql 中看起来是这样的:

SELECT files FROM foldery WHERE foName = "website/img/post1"

因此,结果将是一个包含 post1 中所有文件的数组。

不幸的是,经过 2 小时的尝试,我只有简单的 console.log 代码。 任何帮助将不胜感激

【问题讨论】:

  • 您有从您的 SQL 数据库创建的脚本吗? :)

标签: javascript jquery mysql json


【解决方案1】:

您需要遍历您的数组并检查 forName 是否相等

function select(o, foName) {
    var length = o.foldery.length;
    for(var i = 0; i < length; i++){
        if (o.foldery[i].foName == foName) {
            return o.foldery[i].files;
        }
    }
}

var result = select(o, "website/img/post1")
console.log(result);

结果

[ 'website/img/post1/a.jpeg',
  'website/img/post1/b.jpg',
  'website/img/post1/c.jpeg',
  'website/img/post1/d.jpg' ]

【讨论】:

  • 这里是来自$.getJSON("nameindex.json", function(O) {... });的数据?
  • 非常感谢。像魅力一样工作
猜你喜欢
  • 2013-12-16
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-24
  • 1970-01-01
  • 2020-03-13
相关资源
最近更新 更多