【问题标题】:Possible to use regex with JSON and AJAX?可以将正则表达式与 JSON 和 AJAX 一起使用吗?
【发布时间】:2019-01-05 00:48:29
【问题描述】:

问题

在 AJAX 调用中,我试图检索带有附加自动生成标识符的 JSON 对象。是否可以使用正则表达式来选择以特定字符串开头的 JSON 对象?

例如低于目标announcements_414988813

jQuery

const parent = $('.c-banner');
let data;

$.getJSON('path_to_data.json', function (result) {
    const data = result["jcr:content"]["parsys"];
    const announcement = data["/^/announcements"];
    let date = announcement.eventDate;

    let _html = "";
    _html += '<p>' + date + '</p>';

    parent.append(_html);
});

JSON

{
  "jcr:content": {
    "parsys": {
      "announcements_414988813": {
        "eventDate": "Fri Jan 18 2019 00:00:00 GMT-1000",
        "title": "Pizza Day!",
      }
    }
  }
}

【问题讨论】:

    标签: json regex ajax


    【解决方案1】:

    提取data 对象后,您应该能够遍历其键并找到匹配的键。

    var announcement = {}
    
    for (key in data) {
        if (key.match(/^announcements/)) {
            announcement = data[key];
        }
    }
    

    请注意,如果您的 parsys 对象有多个公告,这将给您最后一个。如果没有找到任何对象,announcement 将保持为空对象。 (如果你想要第一个,请跳出循环,如果你需要它们,则将它们全部保存在一个数组中。)

    【讨论】:

    • 工作就像一个魅力!谢谢@BilltheLizard!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    • 2016-12-29
    • 2011-06-19
    • 2012-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多