代码之家  ›  专栏  ›  技术社区  ›  Arielle Adams

可以将正则表达式与JSON和AJAX一起使用吗?

  •  0
  • Arielle Adams  · 技术社区  · 7 年前

    问题

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

    例如,低于目标 announcements_414988813

    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!",
          }
        }
      }
    }
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   Bill the Lizard    7 年前

    在你提取了 data 对象,您应该能够循环遍历其键并找到匹配的键。

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

    parsys 对象有多个通知,这将为您提供最后一个通知。 announcement