问题
I'm using NodeJS and Express to call Eventbrite's web service. From the following JSON object, I need to extract img tags and associated data (src, width, height) when they occur.
[ { 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' } } ]
The responses from this API vary (sometimes contains no image, sometimes contains image alone, sometimes contains image within other html), so I am looking for a clean way to run across the entire JSON object, look for img tags, and deal with them when they occur, regardless of where they occur within the object.
回答1:
Use the following JavaScript and 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);
});
});
来源:https://stackoverflow.com/questions/25516736/extract-html-tags-and-data-from-unstructured-string-within-json-object