html - 从 JSON 对象中的非结构化字符串中提取 html 标签和数据

标签 html json node.js web-services parsing

我正在使用 NodeJS 和 Express 来调用 Eventbrite 的 Web 服务。我需要从以下 JSON 对象中提取 img 标签和相关数据(src、宽度、高度)。

[ { name: 'Sense 5K - Austin Pre-Registration',
    url: 'http://austinpreregister.eventbrite.com/?aff=SRCH',
    start: '2014-10-01 09:00:00',
    description: '<P><IMG STYLE="display: block; margin-left: auto; margin-right: auto;" SRC="https://evbdn.eventbrite.com/s3-s3/eventlogos/90039995/about.png" ALT="" WIDTH="568" HEIGHT="138"></P>\r\n<P><IMG STYLE="vertical-align: middle; display: block; margin-left: auto; margin-right: auto;" SRC="https://evbdn.eventbrite.com/s3-s3/eventlogos/90039995/bluedawntour1.jpg" ALT="" WIDTH="568" HEIGHT="227"></P>',
    venue: 
     { city: 'Austin',
       name: '',
       country: 'United States',
       region: 'TX',
       longitude: -76.956325,
       postal_code: '',
       address_2: '',
       address: '',
       latitude: 38.861568,
       country_code: 'US',
       id: 5936809,
       'Lat-Long': '38.861568 / -76.956325' },
    organizer: 
     { url: 'http://www.eventbrite.com/o/sense-5k-6113542315',
       description: '\r\nAlong this enchanting journey you will encounter five Sense Scenes--each crafted to trigger an individual sense.The event is crowned with Sense Live, an unforgettable show and after party featuring pyrotechnics, dazzling special effects, a professional EDM DJ, live acrobatic entertainment, heart-pounding music, and the rhythm of your dancing. The purpose of Sense 5K is not to compete, but to experience! Every Sense 5K event benefits a local charity.\r\n \r\n',
       long_description: '\r\nAlong this enchanting journey you will encounter five Sense Scenes--each crafted to trigger an individual sense.The event is crowned with Sense Live, an unforgettable show and after party featuring pyrotechnics, dazzling special effects, a professional EDM DJ, live acrobatic entertainment, heart-pounding music, and the rhythm of your dancing. The purpose of Sense 5K is not to compete, but to experience! Every Sense 5K event benefits a local charity.\r\n ',
       id: 6113542315,
       name: 'Sense 5K' } } ]

此 API 的响应各不相同(有时不包含图像,有时仅包含图像,有时包含其他 html 中的图像),因此我正在寻找一种干净的方法来运行整个 JSON 对象,查找 img 标签,并在它们出现时处理它们,无论它们出现在对象中的位置。

最佳答案

使用以下 JavaScript 和 jQuery:

var returnedObject = JSON.parse(returnedJSON);
$.each(returnedObject, function(index, value) {
    var $element = $(value.description);
    var images = $element.find('img');
    $.each(images, function(index, value) {
        console.log(value);
    });
});

关于html - 从 JSON 对象中的非结构化字符串中提取 html 标签和数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25516736/

相关文章:

javascript - 在特定的 Div 中执行 Javascript 函数

c# - 'System.IO.FileLoadException' 与 newtonsoft-json

javascript - 为什么 json_encode 返回数组而不是对象?

macos - mac nodejs公共(public)目录权限 'Forbidden'

Node.js,AWS SNS,我们如何向多个设备发送通知?

css - 通过 ID 将 CSS(通过 LESS)应用于模式框不起作用

html - 如何在没有计算的情况下实现这种等距布局?

json - Firebase 不断更改 JSON 文件

javascript - 我可以向我的 promise 回调添加一个参数吗?

javascript - 动态加载 sprite SVG 文件